summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorRabin Vincent <rabin.vincent@stericsson.com>2012-05-21 13:38:42 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-07-26 13:37:02 -0700
commita7b12929be6cc55eab2dac3330fa9f5984e12dda (patch)
treea8bcc11178f8d2dda31c4c7ce509a1315d55f87a /Makefile
parented85c60457a8e6bfe4604f8d3d343e70e30aaa3e (diff)
downloadlinux-a7b12929be6cc55eab2dac3330fa9f5984e12dda.tar.gz
linux-a7b12929be6cc55eab2dac3330fa9f5984e12dda.tar.bz2
linux-a7b12929be6cc55eab2dac3330fa9f5984e12dda.zip
vt: fix race in vt_waitactive()
pm_restore_console() is called from the suspend/resume path, and this calls vt_move_to_console(), which calls vt_waitactive(). There's a race in this path which causes the process which requests the suspend to sleep indefinitely waiting for an event which already happened: P1 P2 vt_move_to_console() set_console() schedule_console_callback() vt_waitactive() check n == fg_console +1 console_callback() switch_screen() vt_event_post() // no waiters vt_event_wait() // forever Fix the race by ensuring we're registered for the event before we check if it's already completed. Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions