diff options
author | Jason Chen <b02280@freescale.com> | 2011-11-21 15:42:17 +0800 |
---|---|---|
committer | Eric Miao <eric.miao@linaro.org> | 2011-12-04 23:14:27 +0800 |
commit | 9ac8e87f9628627519326646ece599cb93f7ab4e (patch) | |
tree | 5bacb90506b0f686c4378602e7e9761e4f0406f3 | |
parent | 67d3a43d788ba280647c72521154b183b0005427 (diff) |
ENGR00162701 mxc_vout: fix potential deadlock of fb_blank
add FBINFO_MISC_USEREVENT flag before calling fb_blank
Signed-off-by: Jason Chen <b02280@freescale.com>
-rw-r--r-- | drivers/media/video/mxc/output/mxc_vout.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/video/mxc/output/mxc_vout.c b/drivers/media/video/mxc/output/mxc_vout.c index 347a0ef8e73..08edfb3087e 100644 --- a/drivers/media/video/mxc/output/mxc_vout.c +++ b/drivers/media/video/mxc/output/mxc_vout.c @@ -1351,7 +1351,9 @@ static int config_disp_output(struct mxc_vout_output *vout) vout->disp_bufs[i] = fbi->fix.smem_start + i * display_buf_size; console_lock(); + fbi->flags |= FBINFO_MISC_USEREVENT; ret = fb_blank(fbi, FB_BLANK_UNBLANK); + fbi->flags &= ~FBINFO_MISC_USEREVENT; console_unlock(); return ret; @@ -1363,7 +1365,9 @@ static void release_disp_output(struct mxc_vout_output *vout) struct mxcfb_pos pos; console_lock(); + fbi->flags |= FBINFO_MISC_USEREVENT; fb_blank(fbi, FB_BLANK_POWERDOWN); + fbi->flags &= ~FBINFO_MISC_USEREVENT; console_unlock(); /* restore pos to 0,0 avoid fb pan display hang? */ @@ -1380,7 +1384,9 @@ static void release_disp_output(struct mxc_vout_output *vout) if (get_ipu_channel(fbi) == MEM_BG_SYNC) { console_lock(); + fbi->flags |= FBINFO_MISC_USEREVENT; fb_blank(fbi, FB_BLANK_UNBLANK); + fbi->flags &= ~FBINFO_MISC_USEREVENT; console_unlock(); } } |