diff options
| author | 2012-04-12 17:33:58 -0400 | |
|---|---|---|
| committer | 2012-05-17 10:08:54 +0100 | |
| commit | 6acddc5e911bb3a4a007448371ed7317c85669da (patch) | |
| tree | ef5ac2ea141645723d2e898f83ed4414dc36f4bc /kernel/debug/debug_core.c | |
| parent | [SCSI] sg: remove closed flag (diff) | |
[SCSI] sg: prevent unwoken sleep
srp->done is protected by sfp->rq_list_lock everywhere, except for this
one case. Result can be that the wake-up happens before the cacheline
with the changed srp->done has arrived, so the waiter can go back to
sleep and never be woken up again.
The wait_event_interruptible() means that anyone trying to debug this
unlikely race will likely notice everything working fine again, as the
next signal will unwedge things. Evil.
Signed-off-by: Joern Engel <joern@logfs.org>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'kernel/debug/debug_core.c')
0 files changed, 0 insertions, 0 deletions
