android_kernel_motorola_sm6375/drivers/base
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Rafael J. Wysocki fa4addf30c PM: runtime: Defer suspending suppliers
[ Upstream commit 5244f5e2d801259af877ee759e8c22364c607072 ]

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: 21d5c57b37 ("PM / runtime: Use device links")
Reported-by: elaine.zhang <zhangqing@rock-chips.com>
Diagnosed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-30 14:35:27 +02:00
..
firmware_loader firmware_loader: fix memory leak for paged buffer 2020-09-23 12:40:34 +02:00
power PM: runtime: Defer suspending suppliers 2021-03-30 14:35:27 +02:00
regmap regmap: sdw: use _no_pm functions in regmap_read/write 2021-03-04 10:26:37 +01:00
test
arch_topology.c cpu-topology: Fix the potential data corruption 2020-10-01 13:17:40 +02:00
attribute_container.c
base.h
bus.c
cacheinfo.c
class.c
component.c
container.c
core.c driver core: Extend device_is_dependent() 2021-01-27 11:47:51 +01:00
cpu.c
dd.c PM: runtime: Resume the device earlier in __device_release_driver() 2020-11-10 12:37:34 +01:00
devcon.c
devcoredump.c
devres.c
devtmpfs.c
driver.c
firmware.c
hypervisor.c
init.c
isa.c
Kconfig
Makefile
map.c
memory.c
module.c
node.c mm: don't rely on system state to detect hot-plug operations 2020-10-07 08:01:30 +02:00
pinctrl.c
platform-msi.c
platform.c drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish 2020-06-24 17:50:24 +02:00
property.c
soc.c
swnode.c software node: Fix node registration 2021-03-17 17:03:48 +01:00
syscore.c
topology.c
transport_class.c