aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-26 11:36:38 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-26 11:36:38 -0400
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)
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
111out_disable: 111out_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