Skip to contentSkip to conversation

ide-cs: fix releasing I/O resources

PATCH New Bartlomiej Zolnierkiewicz 1 participant 1 message Jun 15, 2008 libata

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ide-cs: fix releasing I/O resources

hwif content is already freed after ide_release() call so cache hwif->io_ports.{data,ctl}_addr in local variables in ide_detach().

This fixes 2.6.26 regression.

---
for 2.6.26

 drivers/ide/legacy/ide-cs.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
drivers/ide/legacy/ide-cs.c +6 -2
Index: b/drivers/ide/legacy/ide-cs.c
===================================================================
@@ -135,13 +135,17 @@ static void ide_detach(struct pcmcia_dev
 {
     ide_info_t *info = link->priv;
     ide_hwif_t *hwif = info->hwif;
+    unsigned long data_addr, ctl_addr;
 
     DEBUG(0, "ide_detach(0x%p)\n", link);
 
+    data_addr = hwif->io_ports.data_addr;
+    ctl_addr  = hwif->io_ports.ctl_addr;
+
     ide_release(link);
 
-    release_region(hwif->io_ports.ctl_addr, 1);
-    release_region(hwif->io_ports.data_addr, 8);
+    release_region(ctl_addr, 1);
+    release_region(data_addr, 8);
 
     kfree(info);
 } /* ide_detach */