ide: I/O resources are released too early in ide_unregister()

Release I/O resources after releasing DMA.
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 537f06c5
...@@ -529,13 +529,6 @@ void ide_unregister(unsigned int index) ...@@ -529,13 +529,6 @@ void ide_unregister(unsigned int index)
free_irq(hwif->irq, hwgroup); free_irq(hwif->irq, hwgroup);
spin_lock_irq(&ide_lock); 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 * Remove us from the hwgroup, and free
* the hwgroup if we were the only member * the hwgroup if we were the only member
...@@ -590,6 +583,13 @@ void ide_unregister(unsigned int index) ...@@ -590,6 +583,13 @@ void ide_unregister(unsigned int index)
hwif->extra_ports = 0; 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 */ /* copy original settings */
tmp_hwif = *hwif; tmp_hwif = *hwif;
......
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