firmware/br-ext-chip-allwinner/board/v83x/kernel/patches/00000-drivers_devfreq_devfr...

34 lines
1.0 KiB
Diff

diff -drupN a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
--- a/drivers/devfreq/devfreq.c 2018-08-06 17:23:04.000000000 +0300
+++ b/drivers/devfreq/devfreq.c 2022-06-12 05:28:14.000000000 +0300
@@ -594,23 +594,17 @@ struct devfreq *devfreq_add_device(struc
list_add(&devfreq->node, &devfreq_list);
governor = find_devfreq_governor(devfreq->governor_name);
- if (IS_ERR(governor)) {
- dev_err(dev, "%s: Unable to find governor for the device\n",
- __func__);
- err = PTR_ERR(governor);
- goto err_init;
- }
-
- devfreq->governor = governor;
- err = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_START,
- NULL);
+ if (!IS_ERR(governor))
+ devfreq->governor = governor;
+ 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: