diff mbox series

video: fbdev: atmel_lcdfb: fixe return error code in atmel_lcdfb_of_init()

Message ID 20201117061350.3453742-1-yangyingliang@huawei.com (mailing list archive)
State Superseded, archived
Headers show
Series video: fbdev: atmel_lcdfb: fixe return error code in atmel_lcdfb_of_init() | expand

Commit Message

Yang Yingliang Nov. 17, 2020, 6:13 a.m. UTC
If devm_kzalloc() failed after first time, atmel_lcdfb_of_init()
cann't return -ENOMEM, fix this by putting the error code in loop.

Fixes: b985172b328a ("video: atmel_lcdfb: add device tree suport")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/video/fbdev/atmel_lcdfb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Thomas Zimmermann Nov. 17, 2020, 7:41 a.m. UTC | #1
Hi

Am 17.11.20 um 07:13 schrieb Yang Yingliang:
> If devm_kzalloc() failed after first time, atmel_lcdfb_of_init()
> cann't return -ENOMEM, fix this by putting the error code in loop.
> 
> Fixes: b985172b328a ("video: atmel_lcdfb: add device tree suport")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
>  drivers/video/fbdev/atmel_lcdfb.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c
> index 8c1d47e52b1a..355b6120dc4f 100644
> --- a/drivers/video/fbdev/atmel_lcdfb.c
> +++ b/drivers/video/fbdev/atmel_lcdfb.c
> @@ -987,8 +987,8 @@ static int atmel_lcdfb_of_init(struct atmel_lcdfb_info *sinfo)
>  	}
>  
>  	INIT_LIST_HEAD(&pdata->pwr_gpios);
> -	ret = -ENOMEM;
>  	for (i = 0; i < gpiod_count(dev, "atmel,power-control"); i++) {
> +		ret = -ENOMEM;

I think that a better fix would have been to put it into the alloc's
error branch. But anyway

  Reviewed-by: Thomas Zimmermann <tzimmremann@suse.de>

Thanks for your patch. I'll add it to drm-misc-next.

Best regards
Thomas

>  		gpiod = devm_gpiod_get_index(dev, "atmel,power-control",
>  					     i, GPIOD_ASIS);
>  		if (IS_ERR(gpiod))
>
diff mbox series

Patch

diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c
index 8c1d47e52b1a..355b6120dc4f 100644
--- a/drivers/video/fbdev/atmel_lcdfb.c
+++ b/drivers/video/fbdev/atmel_lcdfb.c
@@ -987,8 +987,8 @@  static int atmel_lcdfb_of_init(struct atmel_lcdfb_info *sinfo)
 	}
 
 	INIT_LIST_HEAD(&pdata->pwr_gpios);
-	ret = -ENOMEM;
 	for (i = 0; i < gpiod_count(dev, "atmel,power-control"); i++) {
+		ret = -ENOMEM;
 		gpiod = devm_gpiod_get_index(dev, "atmel,power-control",
 					     i, GPIOD_ASIS);
 		if (IS_ERR(gpiod))