AnsweredAssumed Answered

playing youtube videos then suspend/resume with power key, the last frame will appear in the back of the applications menu

Question asked by G.y. Chen Employee on Nov 16, 2012
Latest reply on Nov 18, 2012 by G.y. Chen

In r10.3.2 android release package, playing youtube videos then suspend/resume with power key, the last frame will appear in the back of the applications menu. It may also apply some local video playback with suspend/resume.

 

This issue is due to user space Overlay HAL trying to blank(1) the FB2 in FB early suspend state, and FB2's late_resume will recover the FB2 state to be unblank(0) state since the blank state stored in FB2's early_suspend is unblank(0).

 

You can apply the below patch in kernel to have it fixed:

diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c

index f28e2e6..01ad912 100644

--- a/drivers/video/mxc/mxc_ipuv3_fb.c

+++ b/drivers/video/mxc/mxc_ipuv3_fb.c

@@ -1224,11 +1224,21 @@ static int mxcfb_blank(int blank, struct fb_info *info)

{

        struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)info->par;

 

 

-       dev_dbg(info->device, "blank = %d\n", blank);

+       dev_err(info->device, "blank = %d\n", blank);

 

 

-       if (mxc_fbi->fb_suspended)

+       if ((mxc_fbi->fb_suspended) && (blank == mxc_fbi->next_blank))

                return -EAGAIN;

 

 

+    /*

+     * user space may be still have chance to control the fb blank

+     *state in early suspend state

+     */

+       if ((mxc_fbi->fb_suspended) && (blank != mxc_fbi->next_blank)){

+        dev_err(info->device, "Warning!set blank %d in suspend,previouse store blank %d\n",

+                blank, mxc_fbi->next_blank);

+        mxc_fbi->next_blank = blank;

+    }

+

        if (mxc_fbi->cur_blank == blank)

                return 0;

 

 

Outcomes