AnsweredAssumed Answered

GPU hang after multiple suspend/resume cycles

Question asked by zbigniewbauer on Jul 9, 2019
Latest reply on Jul 22, 2019 by zbigniewbauer

We are running Android application that uses AlarmManager and RTC_WAKEUP to wakeup the system every
30 seconds from deep sleep and perform some simple tasks.

We discovered that Android 7 and 8 hangs after ~700 suspend/resume cycles.
The issue was reproduced on Sabre SD iMX6q platform running Android n7.1.2_2.0.0-ga and mx-o8.0.0_1.0.0_ga.

After adding some debug we traced the failure to kernel_imx/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c file.
After adding debug, the last few lines captured just before the system system hang and before (imX6 watchdog triggers) are:
__set_current_state(TASK_INTERRUPTIBLE);
spin_unlock_irq(&signal->obj.wait.lock);
timeout = schedule_timeout(timeout);

 

This looks like the problem is related to gpu-viv driver or to Freescale/NXP proprietary graphics libraries.

 

What can be the cause of this issue?

 

Regards,
Z

Outcomes