1.问题描述:
最近做项目遇到一个很奇怪的问题,就是安卓系统待机一会就进入了深度睡眠,连终端都没响应。调试信息如下:
] request_suspend_state: sleep (0->3) at 175730206087 (2017-09-27 01:28:31.556133562 UTC)
[ 175.738202] s3cfb_early_suspend is called
[ 175.741885] (s3cfb_backlight_off, 546): LCD_PWM_OFF
[ 175.756345] (s3cfb_backlight_off, 588): VGA_EN_OFF
[ 175.764283] (s3cfb_backlight_off, 603): BK_VDD_OFF
[ 176.004117] <<-GTP-INFO->> Esd suspended!
[ 176.038412] PM: Syncing filesystems ... done.
[ 176.065360] Freezing user space processes ... (elapsed 0.01 seconds) done.
[ 176.086237] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[ 176.106202] Suspending console(s) (use no_console_suspend to debug)
从调试信息看来,android系统把用户空间的任务都停止掉了,难怪wifi和触摸屏都没响应,只有点击电源键安卓系统才能唤醒。跟踪代码,发现最后一步系统电源管理进入了enter_state,从而执行了深度休眠的操作。
源文件: