diff options
author | Dongjin Kim <tobetter@gmail.com> | 2013-01-12 12:54:33 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-17 19:21:15 +0100 |
commit | 7a8ea7ebe4cf698918e7d3c860587e815eaa0f28 (patch) | |
tree | 21110e14d410ac5b46b8aed4ca8c9af56b074137 | |
parent | usb: misc: usb3503_probe() can be static (diff) | |
download | linux-7a8ea7ebe4cf698918e7d3c860587e815eaa0f28.tar.xz linux-7a8ea7ebe4cf698918e7d3c860587e815eaa0f28.zip |
USB: misc: fixup smatch WARNING
This patch fixes the warning,
6a099c63650e50ebf7d1259b859a3d230aec4207 [4/10] USB: misc: Add USB3503 High-Speed Hub Controller
drivers/usb/misc/usb3503.c:238 usb3503_probe() error: we previously assumed 'pdata' could be null (see line 196)
Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/misc/usb3503.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/misc/usb3503.c b/drivers/usb/misc/usb3503.c index c3770734da42..dc2c993ea189 100644 --- a/drivers/usb/misc/usb3503.c +++ b/drivers/usb/misc/usb3503.c @@ -182,12 +182,12 @@ static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id) { struct usb3503_platform_data *pdata = i2c->dev.platform_data; struct usb3503 *hub; - int err; + int err = -ENOMEM; hub = kzalloc(sizeof(struct usb3503), GFP_KERNEL); if (!hub) { dev_err(&i2c->dev, "private data alloc fail\n"); - return -ENOMEM; + return err; } i2c_set_clientdata(i2c, hub); @@ -195,6 +195,7 @@ static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id) if (!pdata) { dev_dbg(&i2c->dev, "missing platform data\n"); + goto err_out; } else { hub->gpio_intn = pdata->gpio_intn; hub->gpio_connect = pdata->gpio_connect; @@ -209,7 +210,7 @@ static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id) dev_err(&i2c->dev, "unable to request GPIO %d as connect pin (%d)\n", hub->gpio_intn, err); - goto err_gpio_intn; + goto err_out; } } @@ -248,7 +249,7 @@ err_gpio_reset: err_gpio_connect: if (gpio_is_valid(hub->gpio_intn)) gpio_free(hub->gpio_intn); -err_gpio_intn: +err_out: kfree(hub); return err; |