Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f376c9c authored by Axel Lin's avatar Axel Lin Committed by Rafael J. Wysocki
Browse files

PM / devfreq: Add proper locking around list_del()



Use devfreq_list_lock around list_del() to prevent list corruption.

Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Acked-by: default avatarMyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 3b91f4b3
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -594,17 +594,19 @@ struct devfreq *devfreq_add_device(struct device *dev,
	if (devfreq->governor)
		err = devfreq->governor->event_handler(devfreq,
					DEVFREQ_GOV_START, NULL);
	mutex_unlock(&devfreq_list_lock);
	if (err) {
		dev_err(dev, "%s: Unable to start governor for the device\n",
			__func__);
		goto err_init;
	}
	mutex_unlock(&devfreq_list_lock);

	return devfreq;

err_init:
	list_del(&devfreq->node);
	mutex_unlock(&devfreq_list_lock);

	device_unregister(&devfreq->dev);
err_out:
	return ERR_PTR(err);