Problem background: In the process of suspend, maybe some device suspend callback failed in dpm_suspend_start()/dpm_prepare()/dpm_suspend(). Because it's after suspend_console(), so printf() is disabled now. Currently we can see "Some devices failed to suspend, or early wake event detected" by log_suspend_abort_reason() in bugreport. There are many devices but we don't know which exactly device failed. So we want to do a little change to record which device failed. Note: I checked upstream LTS kernel, then I found the patch can not be sent upstream, because it uses function log_suspend_abort_reason() in wakeup_reason.c, the initial patch(https://patchwork.kernel.org/patch/3827331/) for adding /kernel/power/wakeup_reason.c is not accepted by upstream which was merged in AOSP common kernels. So maybe the patch could only be sent to AOSP common kernels. Test: manual - Use modified version for daily use two days, from bugreport we can see which device failed. Bug: 120445600 Change-Id: I326c87ca1263496db79d08ec615f12fc22452d7a Signed-off-by: zhuguangqing <zhuguangqing@xiaomi.com> |
||
|---|---|---|
| .. | ||
| clock_ops.c | ||
| common.c | ||
| domain.c | ||
| domain_governor.c | ||
| generic_ops.c | ||
| main.c | ||
| Makefile | ||
| power.h | ||
| qos.c | ||
| runtime.c | ||
| sysfs.c | ||
| trace.c | ||
| wakeirq.c | ||
| wakeup.c | ||