usb/max3421: fix return error code in max3421_probe()
authorYang Yingliang <yangyingliang@huawei.com>
Tue, 17 Nov 2020 06:15:00 +0000 (14:15 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Nov 2020 11:53:45 +0000 (12:53 +0100)
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 <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20201117061500.3454223-1-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/max3421-hcd.c

index 0894f6c..ebb8180 100644 (file)
@@ -1847,7 +1847,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");
@@ -1889,6 +1889,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) {