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:
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?