kernel-hacking-2024-linux-s.../drivers/base/power
Rafael J. Wysocki b81ea1b5ac PM / QoS: Fix concurrency issues and memory leaks in device PM QoS
The current device PM QoS code assumes that certain functions will
never be called in parallel with each other (for example, it is
assumed that dev_pm_qos_expose_flags() won't be called in parallel
with dev_pm_qos_hide_flags() for the same device and analogously
for the latency limit), which may be overly optimistic.  Moreover,
dev_pm_qos_expose_flags() and dev_pm_qos_expose_latency_limit()
leak memory in error code paths (req needs to be freed on errors)
and __dev_pm_qos_drop_user_request() forgets to free the request.

To fix the above issues put more things under the device PM QoS
mutex to make them mutually exclusive and add the missing freeing
of memory.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-03-04 14:23:11 +01:00
..
clock_ops.c base: power - use clk_prepare_enable and clk_prepare_disable 2012-11-15 00:36:43 +01:00
common.c PM: Do not use the syscore flag for runtime PM 2012-09-04 01:36:05 +02:00
domain.c PM / Domains: don't use [delayed_]work_pending() 2013-01-26 00:39:11 +01:00
domain_governor.c
generic_ops.c
main.c PM: Move disabling/enabling runtime PM to late suspend/early resume 2013-01-06 00:35:55 +01:00
Makefile
opp.c PM / OPP: Export more symbols for module usage 2013-02-02 00:01:16 +01:00
power.h PM / QoS: Make it possible to expose PM QoS device flags to user space 2012-10-24 02:08:18 +02:00
qos.c PM / QoS: Fix concurrency issues and memory leaks in device PM QoS 2013-03-04 14:23:11 +01:00
runtime.c pm / runtime: force memory allocation with no I/O during Runtime PM callbcack 2013-02-23 17:50:16 -08:00
sysfs.c PM / QoS: Make it possible to expose PM QoS device flags to user space 2012-10-24 02:08:18 +02:00
trace.c
wakeup.c PM: Introduce suspend state PM_SUSPEND_FREEZE 2013-02-09 22:30:44 +01:00