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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 3e2990ea
...@@ -71,7 +71,6 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id) ...@@ -71,7 +71,6 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id)
if (setup[i]) if (setup[i])
outb(setup[i], base + i); outb(setup[i], base + i);
} }
pci_release_regions(dev); /* IDE layer handles regions itself */
memset(&hw, 0, sizeof(hw)); memset(&hw, 0, sizeof(hw));
ide_std_init_ports(&hw, base + 0x10, base + 0x1e); 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) ...@@ -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_data(hwif, i);
ide_init_port_hw(hwif, &hw); ide_init_port_hw(hwif, &hw);
hwif->mmio = 1;
hwif->quirkproc = &ide_undecoded_slave; hwif->quirkproc = &ide_undecoded_slave;
idx[0] = i; idx[0] = i;
...@@ -110,6 +110,7 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id) ...@@ -110,6 +110,7 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id)
out_disable: out_disable:
printk(KERN_ERR "delkin_cb: no IDE devices found\n"); printk(KERN_ERR "delkin_cb: no IDE devices found\n");
pci_release_regions(dev);
pci_disable_device(dev); pci_disable_device(dev);
return -ENODEV; return -ENODEV;
} }
...@@ -122,6 +123,7 @@ delkin_cb_remove (struct pci_dev *dev) ...@@ -122,6 +123,7 @@ delkin_cb_remove (struct pci_dev *dev)
if (hwif) if (hwif)
ide_unregister(hwif->index); ide_unregister(hwif->index);
pci_release_regions(dev);
pci_disable_device(dev); pci_disable_device(dev);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment