diff options
author | Krzysztof Kozlowski <k.kozlowski@samsung.com> | 2015-01-09 03:27:58 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-01-23 16:31:08 -0500 |
commit | f90b8ad83a6ae984edb6b489ed02e45dadfd263e (patch) | |
tree | f3b756682a92783fdb0f2064dc2d3f1b3b47e0bb /drivers/base/power/qos.c | |
parent | f5f4eda4c9b9e26ec7d7c8ce083e386016ffc0f8 (diff) |
PM / QoS: Use lockdep asserts to find missing hold of power.lock
Add lockdep asserts for holding the dev->power.lock to non-static
functions which require this. They could be used outside of the file so
asserts may help in detecting locking misuse.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/base/power/qos.c')
-rw-r--r-- | drivers/base/power/qos.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/base/power/qos.c b/drivers/base/power/qos.c index a8fe4c1a8d07..e56d538d039e 100644 --- a/drivers/base/power/qos.c +++ b/drivers/base/power/qos.c | |||
@@ -64,6 +64,8 @@ enum pm_qos_flags_status __dev_pm_qos_flags(struct device *dev, s32 mask) | |||
64 | struct pm_qos_flags *pqf; | 64 | struct pm_qos_flags *pqf; |
65 | s32 val; | 65 | s32 val; |
66 | 66 | ||
67 | lockdep_assert_held(&dev->power.lock); | ||
68 | |||
67 | if (IS_ERR_OR_NULL(qos)) | 69 | if (IS_ERR_OR_NULL(qos)) |
68 | return PM_QOS_FLAGS_UNDEFINED; | 70 | return PM_QOS_FLAGS_UNDEFINED; |
69 | 71 | ||
@@ -104,6 +106,8 @@ EXPORT_SYMBOL_GPL(dev_pm_qos_flags); | |||
104 | */ | 106 | */ |
105 | s32 __dev_pm_qos_read_value(struct device *dev) | 107 | s32 __dev_pm_qos_read_value(struct device *dev) |
106 | { | 108 | { |
109 | lockdep_assert_held(&dev->power.lock); | ||
110 | |||
107 | return IS_ERR_OR_NULL(dev->power.qos) ? | 111 | return IS_ERR_OR_NULL(dev->power.qos) ? |
108 | 0 : pm_qos_read_value(&dev->power.qos->resume_latency); | 112 | 0 : pm_qos_read_value(&dev->power.qos->resume_latency); |
109 | } | 113 | } |