mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-12 16:11:04 +00:00
[PATCH] Fix Intel/Sharp command set erase suspend bug
When we sleep and wait for a suspended operation to be resumed, go back and check until it's ready -- don't just continue after the first time we're woken. This can cause file system corruption. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
ba8379b220
commit
967bf623e9
@ -1087,7 +1087,7 @@ static int inval_cache_and_wait_for_operation(
|
|||||||
}
|
}
|
||||||
spin_lock(chip->mutex);
|
spin_lock(chip->mutex);
|
||||||
|
|
||||||
if (chip->state != chip_state) {
|
while (chip->state != chip_state) {
|
||||||
/* Someone's suspended the operation: sleep */
|
/* Someone's suspended the operation: sleep */
|
||||||
DECLARE_WAITQUEUE(wait, current);
|
DECLARE_WAITQUEUE(wait, current);
|
||||||
set_current_state(TASK_UNINTERRUPTIBLE);
|
set_current_state(TASK_UNINTERRUPTIBLE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user