mirror of
https://github.com/torvalds/linux.git
synced 2026-08-13 02:47:56 +02:00
Because the PM-runtime status of the device is not updated in
__rpm_callback(), attempts to suspend the suppliers of the given
device triggered by the rpm_put_suppliers() call in there may
cause a supplier to be suspended completely before the status of
the consumer is updated to RPM_SUSPENDED, which is confusing.
To avoid that (1) modify __rpm_callback() to only decrease the
PM-runtime usage counter of each supplier and (2) make rpm_suspend()
try to suspend the suppliers after changing the consumer's status to
RPM_SUSPENDED, in analogy with the device's parent.
Link: https://lore.kernel.org/linux-pm/CAPDyKFqm06KDw_p8WXsM4dijDbho4bb6T4k50UqqvR1_COsp8g@mail.gmail.com/
Fixes:
|
||
|---|---|---|
| .. | ||
| clock_ops.c | ||
| common.c | ||
| domain_governor.c | ||
| domain.c | ||
| generic_ops.c | ||
| main.c | ||
| Makefile | ||
| power.h | ||
| qos-test.c | ||
| qos.c | ||
| runtime.c | ||
| sysfs.c | ||
| trace.c | ||
| wakeirq.c | ||
| wakeup_stats.c | ||
| wakeup.c | ||