Clang warns:
../drivers/usb/dwc3/dwc3-meson-g12a.c:421:6: warning: variable 'ret' is
used uninitialized whenever 'if' condition is false
[-Wsometimes-uninitialized]
if (priv->otg_mode == USB_DR_MODE_OTG) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/usb/dwc3/dwc3-meson-g12a.c:455:9: note: uninitialized use
occurs here
return ret;
^~~
../drivers/usb/dwc3/dwc3-meson-g12a.c:421:2: note: remove the 'if' if
its condition is always true
if (priv->otg_mode == USB_DR_MODE_OTG) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/usb/dwc3/dwc3-meson-g12a.c:415:9: note: initialize the
variable 'ret' to silence this warning
int ret, irq;
^
= 0
1 warning generated.
It is not wrong, ret is only used when that if statement is true. Just
directly return 0 at the end to avoid this.
Fixes: 729149c53f04 ("usb: dwc3: Add Amlogic A1 DWC3 glue")
Reported-by: kbuild test robot <[email protected]>
Link: https://groups.google.com/d/msg/clang-built-linux/w5iBENco_m4/PPuXreAxBQAJ
Link: https://github.com/ClangBuiltLinux/linux/issues/869
Signed-off-by: Nathan Chancellor <[email protected]>
---
Note: This patch is against Felipe's testing/next branch.
drivers/usb/dwc3/dwc3-meson-g12a.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c
index 70d24b98fcad..902553f39889 100644
--- a/drivers/usb/dwc3/dwc3-meson-g12a.c
+++ b/drivers/usb/dwc3/dwc3-meson-g12a.c
@@ -452,7 +452,7 @@ static int dwc3_meson_g12a_otg_init(struct platform_device *pdev,
if (IS_ERR(priv->role_switch))
dev_warn(dev, "Unable to register Role Switch\n");
- return ret;
+ return 0;
}
static int dwc3_meson_g12a_probe(struct platform_device *pdev)
--
2.25.0
On 10/02/2020 23:58, Nathan Chancellor wrote:
> Clang warns:
>
> ../drivers/usb/dwc3/dwc3-meson-g12a.c:421:6: warning: variable 'ret' is
> used uninitialized whenever 'if' condition is false
> [-Wsometimes-uninitialized]
> if (priv->otg_mode == USB_DR_MODE_OTG) {
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../drivers/usb/dwc3/dwc3-meson-g12a.c:455:9: note: uninitialized use
> occurs here
> return ret;
> ^~~
> ../drivers/usb/dwc3/dwc3-meson-g12a.c:421:2: note: remove the 'if' if
> its condition is always true
> if (priv->otg_mode == USB_DR_MODE_OTG) {
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../drivers/usb/dwc3/dwc3-meson-g12a.c:415:9: note: initialize the
> variable 'ret' to silence this warning
> int ret, irq;
> ^
> = 0
> 1 warning generated.
>
> It is not wrong, ret is only used when that if statement is true. Just
> directly return 0 at the end to avoid this.
>
> Fixes: 729149c53f04 ("usb: dwc3: Add Amlogic A1 DWC3 glue")
> Reported-by: kbuild test robot <[email protected]>
> Link: https://groups.google.com/d/msg/clang-built-linux/w5iBENco_m4/PPuXreAxBQAJ
> Link: https://github.com/ClangBuiltLinux/linux/issues/869
> Signed-off-by: Nathan Chancellor <[email protected]>
> ---
>
> Note: This patch is against Felipe's testing/next branch.
>
> drivers/usb/dwc3/dwc3-meson-g12a.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c
> index 70d24b98fcad..902553f39889 100644
> --- a/drivers/usb/dwc3/dwc3-meson-g12a.c
> +++ b/drivers/usb/dwc3/dwc3-meson-g12a.c
> @@ -452,7 +452,7 @@ static int dwc3_meson_g12a_otg_init(struct platform_device *pdev,
> if (IS_ERR(priv->role_switch))
> dev_warn(dev, "Unable to register Role Switch\n");
>
> - return ret;
> + return 0;
> }
>
> static int dwc3_meson_g12a_probe(struct platform_device *pdev)
>
Acked-by: Neil Armstrong <[email protected]>