From 5048869b026281b7dd16e80106b08c5ef6d7ac2b Mon Sep 17 00:00:00 2001 From: Bartlomiej Zolnierkiewicz Date: Sat, 5 Jul 2008 20:30:51 +0200 Subject: [PATCH] --- yaml --- r: 98730 b: refs/heads/master c: bd8a59e29726b2a5ff7baefe995febdc63044a61 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/ide/ide.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 793e93cdc552..101d7bf28bba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7cd95f56cb61f5348d062527c9d3653196f6e629 +refs/heads/master: bd8a59e29726b2a5ff7baefe995febdc63044a61 diff --git a/trunk/drivers/ide/ide.c b/trunk/drivers/ide/ide.c index 246077792e21..b31359c9fa58 100644 --- a/trunk/drivers/ide/ide.c +++ b/trunk/drivers/ide/ide.c @@ -315,13 +315,14 @@ void ide_unregister(ide_hwif_t *hwif) BUG_ON(in_interrupt()); BUG_ON(irqs_disabled()); + mutex_lock(&ide_cfg_mtx); - spin_lock_irq(&ide_lock); - if (!hwif->present) - goto abort; - __ide_port_unregister_devices(hwif); - hwif->present = 0; + spin_lock_irq(&ide_lock); + if (hwif->present) { + __ide_port_unregister_devices(hwif); + hwif->present = 0; + } spin_unlock_irq(&ide_lock); ide_proc_unregister_port(hwif); @@ -359,7 +360,6 @@ void ide_unregister(ide_hwif_t *hwif) /* restore hwif data to pristine status */ ide_init_port_data(hwif, hwif->index); -abort: spin_unlock_irq(&ide_lock); mutex_unlock(&ide_cfg_mtx); }