Re: [PATCH] drivers:video:fbdev atmel_lcdfb.c power GPIO registration bug

From: Nicolas Ferre
Date: Thu Jun 19 2014 - 03:04:55 EST


On 19/06/2014 03:52, Michael Welling :
> A list that was intended for storing power control GPIOs was never
> initialized correctly or filled. Without these lines of added code
> the kernel hangs when trying to access an uninitialized list when a
> power control GPIO is registered with the device tree.
>
> Signed-off-by: Michael Welling <mwelling@xxxxxxxx>

Indeed.

Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>

Thanks, best regards,

> ---
> drivers/video/fbdev/atmel_lcdfb.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c
> index e683b6e..d36e830 100644
> --- a/drivers/video/fbdev/atmel_lcdfb.c
> +++ b/drivers/video/fbdev/atmel_lcdfb.c
> @@ -1057,6 +1057,7 @@ static int atmel_lcdfb_of_init(struct atmel_lcdfb_info *sinfo)
> goto put_display_node;
> }
>
> + INIT_LIST_HEAD(&pdata->pwr_gpios);
> ret = -ENOMEM;
> for (i = 0; i < of_gpio_named_count(display_np, "atmel,power-control-gpio"); i++) {
> gpio = of_get_named_gpio_flags(display_np, "atmel,power-control-gpio",
> @@ -1082,6 +1083,7 @@ static int atmel_lcdfb_of_init(struct atmel_lcdfb_info *sinfo)
> dev_err(dev, "set direction output gpio %d failed\n", gpio);
> goto put_display_node;
> }
> + list_add(&og->list, &pdata->pwr_gpios);
> }
>
> if (is_gpio_power)
>


--
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/