summaryrefslogtreecommitdiffstats
path: root/drivers/base/power/power.h
diff options
context:
space:
mode:
authorRafael J. Wysocki2013-03-03 22:48:14 +0100
committerRafael J. Wysocki2013-03-04 14:23:11 +0100
commitb81ea1b5ac4d3c6a628158b736dd4a98c46c29d9 (patch)
treea2dd6b230ac5cc2197ef6da7042d892c405ad32d /drivers/base/power/power.h
parentcpufreq: highbank: do not initialize array with a loop (diff)
downloadkernel-qcow2-linux-b81ea1b5ac4d3c6a628158b736dd4a98c46c29d9.tar.gz
kernel-qcow2-linux-b81ea1b5ac4d3c6a628158b736dd4a98c46c29d9.tar.xz
kernel-qcow2-linux-b81ea1b5ac4d3c6a628158b736dd4a98c46c29d9.zip
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>
Diffstat (limited to 'drivers/base/power/power.h')
0 files changed, 0 insertions, 0 deletions