[PATCH] soc: aspeed: lpc-ctrl: Fix probe error handling

Andrew Jeffery andrew at aj.id.au
Fri Jun 21 11:56:52 AEST 2019



On Thu, 20 Jun 2019, at 18:47, Joel Stanley wrote:
> gcc warns that a mising "flash" phandle node leads to undefined
> behavior later:
> 
> drivers/soc/aspeed/aspeed-lpc-ctrl.c: In function 
> 'aspeed_lpc_ctrl_probe':
> drivers/soc/aspeed/aspeed-lpc-ctrl.c:201:18: error: '*((void 
> *)&resm+8)' may be used uninitialized in this function 
> [-Werror=maybe-uninitialized]
> 
> Only set the flash base and size if we find a phandle in the device
> tree.

Ugh, yeah. Not sure how I missed that. Thanks for fixing it.

Reviewed-by: Andrew Jeffery <andrew at aj.id.au>

> 
> Reported-by: Arnd Bergmann <arnd at arndb.de>
> Signed-off-by: Joel Stanley <joel at jms.id.au>
> ---
>  drivers/soc/aspeed/aspeed-lpc-ctrl.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/soc/aspeed/aspeed-lpc-ctrl.c 
> b/drivers/soc/aspeed/aspeed-lpc-ctrl.c
> index aca13779764a..eee26c2d8b52 100644
> --- a/drivers/soc/aspeed/aspeed-lpc-ctrl.c
> +++ b/drivers/soc/aspeed/aspeed-lpc-ctrl.c
> @@ -223,10 +223,11 @@ static int aspeed_lpc_ctrl_probe(struct 
> platform_device *pdev)
>  			dev_err(dev, "Couldn't address to resource for flash\n");
>  			return rc;
>  		}
> +
> +		lpc_ctrl->pnor_size = resource_size(&resm);
> +		lpc_ctrl->pnor_base = resm.start;
>  	}
>  
> -	lpc_ctrl->pnor_size = resource_size(&resm);
> -	lpc_ctrl->pnor_base = resm.start;
>  
>  	dev_set_drvdata(&pdev->dev, lpc_ctrl);
>  
> -- 
> 2.20.1
> 
>


More information about the Linux-aspeed mailing list