Re: [PATCH] soc: aspeed: lpc-ctrl: Fix probe error handling
On 6/20/19, 2:17 AM, "joel.s...@gmail.com on behalf of 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. Thanks for fixing this. Reviewed-by: Vijay Khemka Reported-by: Arnd Bergmann Signed-off-by: Joel Stanley --- 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
Re: [PATCH] soc: aspeed: lpc-ctrl: Fix probe error handling
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 > > Reported-by: Arnd Bergmann > Signed-off-by: Joel Stanley > --- > 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 > >
[PATCH] soc: aspeed: lpc-ctrl: Fix probe error handling
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. Reported-by: Arnd Bergmann Signed-off-by: Joel Stanley --- 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