diff options
| author | Ujwal Patel <ujwalp@codeaurora.org> | 2015-04-21 18:33:06 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:40:48 -0700 |
| commit | bc4c597e76ef4030e10644ea5a9e20aaedfa1d77 (patch) | |
| tree | b46212cb8217c403f5f4fbbbdb01474ed8d9ffaf | |
| parent | 26bebe99120ebfa202a9be8b37e3c96f2829195b (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.c | 5 |
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"); |
