diff options
| author | Dongjin Kim <tobetter@gmail.com> | 2013-01-12 06:54:33 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-17 13:21:15 -0500 |
| commit | 7a8ea7ebe4cf698918e7d3c860587e815eaa0f28 (patch) | |
| tree | 21110e14d410ac5b46b8aed4ca8c9af56b074137 /drivers/usb | |
| parent | 74ff31b81d94c139882258e9e4a73aca28d05b0a (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')
| -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) | |||
| 182 | { | 182 | { |
| 183 | struct usb3503_platform_data *pdata = i2c->dev.platform_data; | 183 | struct usb3503_platform_data *pdata = i2c->dev.platform_data; |
| 184 | struct usb3503 *hub; | 184 | struct usb3503 *hub; |
| 185 | int err; | 185 | int err = -ENOMEM; |
| 186 | 186 | ||
| 187 | hub = kzalloc(sizeof(struct usb3503), GFP_KERNEL); | 187 | hub = kzalloc(sizeof(struct usb3503), GFP_KERNEL); |
| 188 | if (!hub) { | 188 | if (!hub) { |
| 189 | dev_err(&i2c->dev, "private data alloc fail\n"); | 189 | dev_err(&i2c->dev, "private data alloc fail\n"); |
| 190 | return -ENOMEM; | 190 | return err; |
| 191 | } | 191 | } |
| 192 | 192 | ||
| 193 | i2c_set_clientdata(i2c, hub); | 193 | i2c_set_clientdata(i2c, hub); |
| @@ -195,6 +195,7 @@ static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id) | |||
| 195 | 195 | ||
| 196 | if (!pdata) { | 196 | if (!pdata) { |
| 197 | dev_dbg(&i2c->dev, "missing platform data\n"); | 197 | dev_dbg(&i2c->dev, "missing platform data\n"); |
| 198 | goto err_out; | ||
| 198 | } else { | 199 | } else { |
| 199 | hub->gpio_intn = pdata->gpio_intn; | 200 | hub->gpio_intn = pdata->gpio_intn; |
| 200 | hub->gpio_connect = pdata->gpio_connect; | 201 | hub->gpio_connect = pdata->gpio_connect; |
| @@ -209,7 +210,7 @@ static int usb3503_probe(struct i2c_client *i2c, const struct i2c_device_id *id) | |||
| 209 | dev_err(&i2c->dev, | 210 | dev_err(&i2c->dev, |
| 210 | "unable to request GPIO %d as connect pin (%d)\n", | 211 | "unable to request GPIO %d as connect pin (%d)\n", |
| 211 | hub->gpio_intn, err); | 212 | hub->gpio_intn, err); |
| 212 | goto err_gpio_intn; | 213 | goto err_out; |
| 213 | } | 214 | } |
| 214 | } | 215 | } |
| 215 | 216 | ||
| @@ -248,7 +249,7 @@ err_gpio_reset: | |||
| 248 | err_gpio_connect: | 249 | err_gpio_connect: |
| 249 | if (gpio_is_valid(hub->gpio_intn)) | 250 | if (gpio_is_valid(hub->gpio_intn)) |
| 250 | gpio_free(hub->gpio_intn); | 251 | gpio_free(hub->gpio_intn); |
| 251 | err_gpio_intn: | 252 | err_out: |
| 252 | kfree(hub); | 253 | kfree(hub); |
| 253 | 254 | ||
| 254 | return err; | 255 | return err; |
