ide: I/O resources are released too early in ide_unregister()
Release I/O resources after releasing DMA.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 7fa30ac..ea7512d 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -530,13 +530,6 @@
spin_lock_irq(&ide_lock);
/*
- * Note that we only release the standard ports,
- * and do not even try to handle any extra ports
- * allocated for weird IDE interface chipsets.
- */
- ide_hwif_release_regions(hwif);
-
- /*
* Remove us from the hwgroup, and free
* the hwgroup if we were the only member
*/
@@ -590,6 +583,13 @@
hwif->extra_ports = 0;
}
+ /*
+ * Note that we only release the standard ports,
+ * and do not even try to handle any extra ports
+ * allocated for weird IDE interface chipsets.
+ */
+ ide_hwif_release_regions(hwif);
+
/* copy original settings */
tmp_hwif = *hwif;