diff options
Diffstat (limited to 'drivers/ide/pci/delkin_cb.c')
-rw-r--r-- | drivers/ide/pci/delkin_cb.c | 4 |
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) | |||
71 | if (setup[i]) | 71 | if (setup[i]) |
72 | outb(setup[i], base + i); | 72 | outb(setup[i], base + i); |
73 | } | 73 | } |
74 | pci_release_regions(dev); /* IDE layer handles regions itself */ | ||
75 | 74 | ||
76 | memset(&hw, 0, sizeof(hw)); | 75 | memset(&hw, 0, sizeof(hw)); |
77 | ide_std_init_ports(&hw, base + 0x10, base + 0x1e); | 76 | 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 | ide_init_port_data(hwif, i); | 89 | ide_init_port_data(hwif, i); |
91 | 90 | ||
92 | ide_init_port_hw(hwif, &hw); | 91 | ide_init_port_hw(hwif, &hw); |
92 | hwif->mmio = 1; | ||
93 | hwif->quirkproc = &ide_undecoded_slave; | 93 | hwif->quirkproc = &ide_undecoded_slave; |
94 | 94 | ||
95 | idx[0] = i; | 95 | idx[0] = i; |
@@ -110,6 +110,7 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id) | |||
110 | 110 | ||
111 | out_disable: | 111 | out_disable: |
112 | printk(KERN_ERR "delkin_cb: no IDE devices found\n"); | 112 | printk(KERN_ERR "delkin_cb: no IDE devices found\n"); |
113 | pci_release_regions(dev); | ||
113 | pci_disable_device(dev); | 114 | pci_disable_device(dev); |
114 | return -ENODEV; | 115 | return -ENODEV; |
115 | } | 116 | } |
@@ -122,6 +123,7 @@ delkin_cb_remove (struct pci_dev *dev) | |||
122 | if (hwif) | 123 | if (hwif) |
123 | ide_unregister(hwif->index); | 124 | ide_unregister(hwif->index); |
124 | 125 | ||
126 | pci_release_regions(dev); | ||
125 | pci_disable_device(dev); | 127 | pci_disable_device(dev); |
126 | } | 128 | } |
127 | 129 | ||