usb: host: max3421-hcd: Remove pdata test in max3421_hub_control()
authorJules Maselbas <jules.maselbas@grenoble-inp.org>
Tue, 31 Oct 2017 10:40:33 +0000 (11:40 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Nov 2017 16:11:05 +0000 (17:11 +0100)
We do not have to test if platform_data pointer is null in
max3421_hub_control(), as the driver probe will fail if no
platform_data is found.

Fixes: 721fdc83b31b ("usb: max3421: Add devicetree support")
Signed-off-by: Jules Maselbas <jules.maselbas@grenoble-inp.org>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/max3421-hcd.c

index 928a5aabee024f0b40c64e52c85b254bc7569c7f..02bbf8938bb9ea02d2056f2d0d2f30d563fa429d 100644 (file)
@@ -1699,13 +1699,9 @@ max3421_hub_control(struct usb_hcd *hcd, u16 type_req, u16 value, u16 index,
        unsigned long flags;
        int retval = 0;
 
-       spin_lock_irqsave(&max3421_hcd->lock, flags);
-
        pdata = spi->dev.platform_data;
-       if (!pdata) {
-               dev_err(&spi->dev, "Device platform data is missing\n");
-               return -EFAULT;
-       }
+
+       spin_lock_irqsave(&max3421_hcd->lock, flags);
 
        switch (type_req) {
        case ClearHubFeature:
@@ -1882,7 +1878,6 @@ max3421_probe(struct spi_device *spi)
        if (IS_ENABLED(CONFIG_OF) && dev->of_node) {
                pdata = devm_kzalloc(&spi->dev, sizeof(*pdata), GFP_KERNEL);
                if (!pdata) {
-                       dev_err(&spi->dev, "failed to allocate memory for private data\n");
                        retval = -ENOMEM;
                        goto error;
                }
@@ -1995,12 +1990,6 @@ max3421_remove(struct spi_device *spi)
 
        spin_unlock_irqrestore(&max3421_hcd->lock, flags);
 
-       if (IS_ENABLED(CONFIG_OF) && spi->dev.platform_data) {
-               dev_dbg(&spi->dev, "Freeing platform data structure\n");
-               devm_kfree(&spi->dev, spi->dev.platform_data);
-               spi->dev.platform_data = NULL;
-       }
-
        free_irq(spi->irq, hcd);
 
        usb_put_hcd(hcd);