summaryrefslogtreecommitdiff
path: root/drivers/usb/misc/usb3503.c
diff options
context:
space:
mode:
authorDongjin Kim <tobetter@gmail.com>2013-01-12 20:54:33 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-17 10:21:15 -0800
commit7a8ea7ebe4cf698918e7d3c860587e815eaa0f28 (patch)
tree21110e14d410ac5b46b8aed4ca8c9af56b074137 /drivers/usb/misc/usb3503.c
parent74ff31b81d94c139882258e9e4a73aca28d05b0a (diff)
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>
Diffstat (limited to 'drivers/usb/misc/usb3503.c')
-rw-r--r--drivers/usb/misc/usb3503.c9
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;