mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 22:52:35 +02:00
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> |
||
|---|---|---|
| .. | ||
| autosleep.c | ||
| console.c | ||
| energy_model.c | ||
| hibernate.c | ||
| Kconfig | ||
| main.c | ||
| Makefile | ||
| power.h | ||
| poweroff.c | ||
| process.c | ||
| qos.c | ||
| snapshot.c | ||
| suspend_test.c | ||
| suspend.c | ||
| swap.c | ||
| user.c | ||
| wakelock.c | ||
| wakeup_reason.c | ||