Commit c878a52d authored by Daniel Lezcano's avatar Daniel Lezcano Committed by Rafael J. Wysocki

cpuidle: Check if device is already registered

Make __cpuidle_register_device() check whether or not the device has
been registered already and return -EBUSY immediately if that's the
case.

[rjw: Changelog]
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 5df0aa73
...@@ -400,13 +400,16 @@ static int __cpuidle_register_device(struct cpuidle_device *dev) ...@@ -400,13 +400,16 @@ static int __cpuidle_register_device(struct cpuidle_device *dev)
*/ */
int cpuidle_register_device(struct cpuidle_device *dev) int cpuidle_register_device(struct cpuidle_device *dev)
{ {
int ret; int ret = -EBUSY;
if (!dev) if (!dev)
return -EINVAL; return -EINVAL;
mutex_lock(&cpuidle_lock); mutex_lock(&cpuidle_lock);
if (dev->registered)
goto out_unlock;
ret = __cpuidle_device_init(dev); ret = __cpuidle_device_init(dev);
if (ret) if (ret)
goto out_unlock; goto out_unlock;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment