summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-26 17:36:38 +0200
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-26 17:36:38 +0200
commit7f6f33c131b34a5eca6350c2bd8a254e55550e92 (patch)
treed6ffd0f06f2e39b59656a2266158f4ddc72ec3e6
parent3e2990eae03c3f998f365824330290d227e4415a (diff)
delkin_cb: fix resources handling
Tell IDE layer to not manage resources by setting hwif->mmio flag. Cc: Mark Lord <mlord@pobox.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r--drivers/ide/pci/delkin_cb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/ide/pci/delkin_cb.c b/drivers/ide/pci/delkin_cb.c
index 53857f809667..753b86fc6637 100644
--- a/drivers/ide/pci/delkin_cb.c
+++ b/drivers/ide/pci/delkin_cb.c
@@ -71,7 +71,6 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id)
if (setup[i])
outb(setup[i], base + i);
}
- pci_release_regions(dev); /* IDE layer handles regions itself */
memset(&hw, 0, sizeof(hw));
ide_std_init_ports(&hw, base + 0x10, base + 0x1e);
@@ -90,6 +89,7 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id)
ide_init_port_data(hwif, i);
ide_init_port_hw(hwif, &hw);
+ hwif->mmio = 1;
hwif->quirkproc = &ide_undecoded_slave;
idx[0] = i;
@@ -110,6 +110,7 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id)
out_disable:
printk(KERN_ERR "delkin_cb: no IDE devices found\n");
+ pci_release_regions(dev);
pci_disable_device(dev);
return -ENODEV;
}
@@ -122,6 +123,7 @@ delkin_cb_remove (struct pci_dev *dev)
if (hwif)
ide_unregister(hwif->index);
+ pci_release_regions(dev);
pci_disable_device(dev);
}