ide: ide_unregister() locking bugfix

Holding ide_lock for ide_release_dma_engine() call is unnecessary
and triggers WARN_ON(irqs_disabled()) in dma_free_coherent().

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

+2 -2
+2 -2
drivers/ide/ide.c
··· 352 blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<<PARTN_BITS); 353 kfree(hwif->sg_table); 354 unregister_blkdev(hwif->major, hwif->name); 355 - spin_lock_irq(&ide_lock); 356 357 if (hwif->dma_base) 358 ide_release_dma_engine(hwif); 359 360 /* restore hwif data to pristine status */ 361 ide_init_port_data(hwif, hwif->index); 362 - 363 spin_unlock_irq(&ide_lock); 364 mutex_unlock(&ide_cfg_mtx); 365 } 366
··· 352 blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<<PARTN_BITS); 353 kfree(hwif->sg_table); 354 unregister_blkdev(hwif->major, hwif->name); 355 356 if (hwif->dma_base) 357 ide_release_dma_engine(hwif); 358 359 + spin_lock_irq(&ide_lock); 360 /* restore hwif data to pristine status */ 361 ide_init_port_data(hwif, hwif->index); 362 spin_unlock_irq(&ide_lock); 363 + 364 mutex_unlock(&ide_cfg_mtx); 365 } 366