|
@@ -2354,12 +2354,13 @@ int jfsIOWait(void *arg)
|
|
lbmStartIO(bp);
|
|
lbmStartIO(bp);
|
|
spin_lock_irq(&log_redrive_lock);
|
|
spin_lock_irq(&log_redrive_lock);
|
|
}
|
|
}
|
|
- spin_unlock_irq(&log_redrive_lock);
|
|
|
|
|
|
|
|
if (freezing(current)) {
|
|
if (freezing(current)) {
|
|
|
|
+ spin_unlock_irq(&log_redrive_lock);
|
|
refrigerator();
|
|
refrigerator();
|
|
} else {
|
|
} else {
|
|
set_current_state(TASK_INTERRUPTIBLE);
|
|
set_current_state(TASK_INTERRUPTIBLE);
|
|
|
|
+ spin_unlock_irq(&log_redrive_lock);
|
|
schedule();
|
|
schedule();
|
|
__set_current_state(TASK_RUNNING);
|
|
__set_current_state(TASK_RUNNING);
|
|
}
|
|
}
|