I'm porting i.mx android_L5.1.1_2.1.0-ga BSP into our board based mx6q.
Our board is in production with android jb4.3-1.1.1 BSP, and everything is OK.
I found that when I suspend & resume the system, using POWER KEY, sometimes the board may resume fail.
There is 2 situations, as following:
1. Kernel BUG after PM noirq resume, please see the log I attached below.
2. Kernel hang during gpu_resume.
According to adding printk in kernel source, I found that after imx6q_pm_pu_power_on(in gpc.c) is called in power domain resume, the GPC_ISR1 register's IRQ 42(R2D GPU)&43(V2D GPU) bits sometimes may be set. And if one of them is set, we will meet one of the above situation.
Our board connect mx6q's USB_OTG_VBUS with a 5V power through a 0R resistor, and this power is always 5V even if mx6 is in suspend.
One weird thing is that, when I disconnect this resistor, the problem is solved. No more resume fail.
1. The GPU is in suspend state, why it somethings trigger a IRQ after imx6q_pm_pu_power_on?
2. Because our product is selled outside, we can not remove the resistor in the customer side. Could anyone help me to solve this problem according software modification?
Thanks very much for finish reading such a long question.