diff options
author | Rafael J. Wysocki <[email protected]> | 2021-03-19 15:47:31 +0100 |
---|---|---|
committer | Rafael J. Wysocki <[email protected]> | 2021-03-22 15:21:38 +0100 |
commit | 5244f5e2d801259af877ee759e8c22364c607072 (patch) | |
tree | 4377ad10363aa3375701a3f373ecf41512e38476 /scripts/gdb/linux/timerlist.py | |
parent | 0d02ec6b3136c73c09e7859f0d0e4e2c4c07b49b (diff) |
PM: runtime: Defer suspending suppliers
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: 21d5c57b3726 ("PM / runtime: Use device links")
Reported-by: elaine.zhang <[email protected]>
Diagnosed-by: Ulf Hansson <[email protected]>
Reviewed-by: Ulf Hansson <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/timerlist.py')
0 files changed, 0 insertions, 0 deletions