summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUjwal Patel <ujwalp@codeaurora.org>2015-04-21 18:33:06 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:40:48 -0700
commitbc4c597e76ef4030e10644ea5a9e20aaedfa1d77 (patch)
treeb46212cb8217c403f5f4fbbbdb01474ed8d9ffaf
parent26bebe99120ebfa202a9be8b37e3c96f2829195b (diff)
msm: mdss: wake up threads relying on shutdown notice
In the current framebuffer driver, user context may be put to sleep to serialize certain operations. These contexts are woken up on certain conditions, one of which is system shutdown notification. Current api used, wait_event_timeout, relies on wait queue to be woken up if any variable that could change the result of the sleep condition. So when shutdown context is active, it needs to wake up threads waiting on shutdown notification else they will timeout and may delay the shutdown process. Change-Id: I11b97e4c65b434c5f35d455a5040f407a1460516 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_fb.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index 6177df1b40a0..f07ba01d5d56 100644
--- a/drivers/video/fbdev/msm/mdss_fb.c
+++ b/drivers/video/fbdev/msm/mdss_fb.c
@@ -792,6 +792,11 @@ static void mdss_fb_shutdown(struct platform_device *pdev)
struct msm_fb_data_type *mfd = platform_get_drvdata(pdev);
mfd->shutdown_pending = true;
+
+ /* wake up threads waiting on idle or kickoff queues */
+ wake_up_all(&mfd->idle_wait_q);
+ wake_up_all(&mfd->kickoff_wait_q);
+
lock_fb_info(mfd->fbi);
mdss_fb_release_all(mfd->fbi, true);
sysfs_notify(&mfd->fbi->dev->kobj, NULL, "show_blank_event");