| From ebbdaa85384a6bfabcd06ab8e0636b325afb4d7e Mon Sep 17 00:00:00 2001 |
| From: Enric Balletbo i Serra <enric.balletbo@collabora.com> |
| Date: Wed, 13 Mar 2019 13:22:53 +0100 |
| Subject: PM / devfreq: Fix static checker warning in try_then_request_governor |
| |
| [ Upstream commit b53b0128052ffd687797d5f4deeb76327e7b5711 ] |
| |
| The patch 23c7b54ca1cd: "PM / devfreq: Fix devfreq_add_device() when |
| drivers are built as modules." leads to the following static checker |
| warning: |
| |
| drivers/devfreq/devfreq.c:1043 governor_store() |
| warn: 'governor' can also be NULL |
| |
| The reason is that the try_then_request_governor() function returns both |
| error pointers and NULL. It should just return error pointers, so fix |
| this by returning a ERR_PTR to the error intead of returning NULL. |
| |
| Fixes: 23c7b54ca1cd ("PM / devfreq: Fix devfreq_add_device() when drivers are built as modules.") |
| Reported-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> |
| Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com> |
| Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/devfreq/devfreq.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c |
| index 0ae3de76833b7..839621b044f49 100644 |
| --- a/drivers/devfreq/devfreq.c |
| +++ b/drivers/devfreq/devfreq.c |
| @@ -228,7 +228,7 @@ static struct devfreq_governor *find_devfreq_governor(const char *name) |
| * if is not found. This can happen when both drivers (the governor driver |
| * and the driver that call devfreq_add_device) are built as modules. |
| * devfreq_list_lock should be held by the caller. Returns the matched |
| - * governor's pointer. |
| + * governor's pointer or an error pointer. |
| */ |
| static struct devfreq_governor *try_then_request_governor(const char *name) |
| { |
| @@ -254,7 +254,7 @@ static struct devfreq_governor *try_then_request_governor(const char *name) |
| /* Restore previous state before return */ |
| mutex_lock(&devfreq_list_lock); |
| if (err) |
| - return NULL; |
| + return ERR_PTR(err); |
| |
| governor = find_devfreq_governor(name); |
| } |
| -- |
| 2.20.1 |
| |