From: Yang Yingliang <[email protected]>

[ Upstream commit 5a569343e8a618dc73edebe0957eb42f2ab476bd ]

retval may be reassigned to 0 after max3421_of_vbus_en_pin(),
if allocate memory failed after this, max3421_probe() cann't
return ENOMEM, fix this by moving assign retval afther max3421_probe().

Fixes: 721fdc83b31b ("usb: max3421: Add devicetree support")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Yang Yingliang <[email protected]>
Link: 
https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
 drivers/usb/host/max3421-hcd.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c
index afa321ab55fcf..c9acc59f4addd 100644
--- a/drivers/usb/host/max3421-hcd.c
+++ b/drivers/usb/host/max3421-hcd.c
@@ -1864,7 +1864,7 @@ max3421_probe(struct spi_device *spi)
        struct max3421_hcd *max3421_hcd;
        struct usb_hcd *hcd = NULL;
        struct max3421_hcd_platform_data *pdata = NULL;
-       int retval = -ENOMEM;
+       int retval;
 
        if (spi_setup(spi) < 0) {
                dev_err(&spi->dev, "Unable to setup SPI bus");
@@ -1906,6 +1906,7 @@ max3421_probe(struct spi_device *spi)
                goto error;
        }
 
+       retval = -ENOMEM;
        hcd = usb_create_hcd(&max3421_hcd_desc, &spi->dev,
                             dev_name(&spi->dev));
        if (!hcd) {
-- 
2.27.0



Reply via email to