Allocated hub is not freed on error in probe

Signed-off-by: Rahul Bedarkar <rahulbedarka...@gmail.com>
---
usb3503.c |   18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)

--- drivers/usb/misc/usb3503.c.orig 2013-08-03 13:23:41.000000000 +0530
+++ drivers/usb/misc/usb3503.c  2013-08-03 13:25:04.000000000 +0530
@@ -216,14 +216,20 @@
        }

        hub->gpio_intn  = of_get_named_gpio(np, "connect-gpios", 0);
-       if (hub->gpio_intn == -EPROBE_DEFER)
-           return -EPROBE_DEFER;
+       if (hub->gpio_intn == -EPROBE_DEFER) {
+           ret = EPROBE_DEFER;
+           goto err_out;
+       }
        hub->gpio_connect = of_get_named_gpio(np, "intn-gpios", 0);
-       if (hub->gpio_connect == -EPROBE_DEFER)
-           return -EPROBE_DEFER;
+       if (hub->gpio_connect == -EPROBE_DEFER) {
+           ret = EPROBE_DEFER;
+           goto err_out;
+       }
        hub->gpio_reset = of_get_named_gpio(np, "reset-gpios", 0);
-       if (hub->gpio_reset == -EPROBE_DEFER)
-           return -EPROBE_DEFER;
+       if (hub->gpio_reset == -EPROBE_DEFER) {
+           ret = EPROBE_DEFER;
+           goto err_out;
+       }
        of_property_read_u32(np, "initial-mode", &mode);
        hub->mode = mode;
    }
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to