diff mbox series

drm/exynos: fix IS_ERR() vs NULL check in probe

Message ID 20220408102134.GA14120@kili (mailing list archive)
State Accepted
Commit 5c2b745173347ba21e3995d815f26925c91c517d
Headers show
Series drm/exynos: fix IS_ERR() vs NULL check in probe | expand

Commit Message

Dan Carpenter April 8, 2022, 10:21 a.m. UTC
The of_drm_find_bridge() does not return error pointers, it returns
NULL on error.

Fixes: dd8b6803bc49 ("exynos: drm: dsi: Attach in_bridge in MIC driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
-EPROBE_DEFER is the correct return, right?

 drivers/gpu/drm/exynos/exynos_drm_mic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Inki Dae April 12, 2022, 1:01 a.m. UTC | #1
Hi Dan Carpenter.

Same patch[1] was posted so I will pick it up. 

[1] https://www.spinics.net/lists/arm-kernel/msg967488.html

Thanks,
Inki Dae

22. 4. 8. 19:21에 Dan Carpenter 이(가) 쓴 글:
> The of_drm_find_bridge() does not return error pointers, it returns
> NULL on error.
> 
> Fixes: dd8b6803bc49 ("exynos: drm: dsi: Attach in_bridge in MIC driver")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> -EPROBE_DEFER is the correct return, right?
> 
>  drivers/gpu/drm/exynos/exynos_drm_mic.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> index 9e06f8e2a863..07e04ceb2476 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> @@ -434,9 +434,9 @@ static int exynos_mic_probe(struct platform_device *pdev)
>  
>  	remote = of_graph_get_remote_node(dev->of_node, 1, 0);
>  	mic->next_bridge = of_drm_find_bridge(remote);
> -	if (IS_ERR(mic->next_bridge)) {
> +	if (!mic->next_bridge) {
>  		DRM_DEV_ERROR(dev, "mic: Failed to find next bridge\n");
> -		ret = PTR_ERR(mic->next_bridge);
> +		ret = -EPROBE_DEFER;
>  		goto err;
>  	}
>
Dan Carpenter April 12, 2022, 4:19 a.m. UTC | #2
On Tue, Apr 12, 2022 at 10:01:20AM +0900, Inki Dae wrote:
> Hi Dan Carpenter.
> 
> Same patch[1] was posted so I will pick it up. 
> 
> [1] https://www.spinics.net/lists/arm-kernel/msg967488.html 
> 

It's not the same.  That one returns -EINVAL and mine returns
-EPROBE_DEFER.  I obvoiously thought that -EPROBE_DEFER was the correct
return but I wasn't positive.  -EPROBE_DEFER is kind of a special
return so I think it matters to get this correct.

regards,
dan carpenter
Inki Dae April 20, 2022, 8:08 a.m. UTC | #3
Hi,

22. 4. 12. 13:19에 Dan Carpenter 이(가) 쓴 글:
> On Tue, Apr 12, 2022 at 10:01:20AM +0900, Inki Dae wrote:
>> Hi Dan Carpenter.
>>
>> Same patch[1] was posted so I will pick it up. 
>>
>> [1] https://protect2.fireeye.com/v1/url?k=94e9d569-f562c05f-94e85e26-000babff9b5d-4d4f5b20cfffa24c&q=1&e=727c2c54-2082-4e0f-87d7-c6702bf4c81e&u=https%3A%2F%2Fwww.spinics.net%2Flists%2Farm-kernel%2Fmsg967488.html 
>>
> 
> It's not the same.  That one returns -EINVAL and mine returns
> -EPROBE_DEFER.  I obvoiously thought that -EPROBE_DEFER was the correct
> return but I wasn't positive.  -EPROBE_DEFER is kind of a special
> return so I think it matters to get this correct.
> 

Correct so I requested[1] him to fix it but the delivery failed. :( I will just pick your patch up. :)
[Delivery Failure] Re: [PATCH -next] drm/exynos: mic: fix return value check in exynos_mic_probe().

[1] My email sent below,
--------------------
22. 4. 6. 18:22에 Yang Yingliang 이(가) 쓴 글:
 > If of_graph_get_remote_node() fails, it returns NULL pointer, replaces
 > IS_ERR() check with NULL pointer check.
 >
 > Fixes: dd8b6803bc49 ("exynos: drm: dsi: Attach in_bridge in MIC driver")
 > Reported-by: Hulk Robot <hulkci@huawei.com>
 > Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
 > ---
 > drivers/gpu/drm/exynos/exynos_drm_mic.c | 4 ++--
 > 1 file changed, 2 insertions(+), 2 deletions(-)
 >
 > diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c 
b/drivers/gpu/drm/exynos/exynos_drm_mic.c
 > index 9e06f8e2a863..43fc357a6682 100644
 > --- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
 > +++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
 > @@ -434,9 +434,9 @@ static int exynos_mic_probe(struct platform_device *pdev)
 >
 > remote = of_graph_get_remote_node(dev->of_node, 1, 0);
 > mic->next_bridge = of_drm_find_bridge(remote);
 > - if (IS_ERR(mic->next_bridge)) {
 > + if (!mic->next_bridge) {
 > DRM_DEV_ERROR(dev, "mic: Failed to find next bridge\n");
 > - ret = PTR_ERR(mic->next_bridge);
 > + ret = -EINVAL;

-EPROBE_DEFER should be returned instead. Could you modify and resend it again?

> regards,
> dan carpenter
> 
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index 9e06f8e2a863..07e04ceb2476 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -434,9 +434,9 @@  static int exynos_mic_probe(struct platform_device *pdev)
 
 	remote = of_graph_get_remote_node(dev->of_node, 1, 0);
 	mic->next_bridge = of_drm_find_bridge(remote);
-	if (IS_ERR(mic->next_bridge)) {
+	if (!mic->next_bridge) {
 		DRM_DEV_ERROR(dev, "mic: Failed to find next bridge\n");
-		ret = PTR_ERR(mic->next_bridge);
+		ret = -EPROBE_DEFER;
 		goto err;
 	}