diff --git a/[refs] b/[refs] index 101d7bf28bba..0136f09bd9a9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bd8a59e29726b2a5ff7baefe995febdc63044a61 +refs/heads/master: 2b54ed9467697b0ce2d60d89e5e4253c9e322c26 diff --git a/trunk/drivers/ide/ide.c b/trunk/drivers/ide/ide.c index b31359c9fa58..300431d080a9 100644 --- a/trunk/drivers/ide/ide.c +++ b/trunk/drivers/ide/ide.c @@ -352,15 +352,15 @@ void ide_unregister(ide_hwif_t *hwif) blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<sg_table); unregister_blkdev(hwif->major, hwif->name); - spin_lock_irq(&ide_lock); if (hwif->dma_base) ide_release_dma_engine(hwif); + spin_lock_irq(&ide_lock); /* restore hwif data to pristine status */ ide_init_port_data(hwif, hwif->index); - spin_unlock_irq(&ide_lock); + mutex_unlock(&ide_cfg_mtx); }