diff options
| -rw-r--r-- | drivers/gpio/pca953x.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpio/pca953x.c b/drivers/gpio/pca953x.c index 583e92592073..7630ab7b9bec 100644 --- a/drivers/gpio/pca953x.c +++ b/drivers/gpio/pca953x.c | |||
| @@ -558,7 +558,7 @@ static int __devinit pca953x_probe(struct i2c_client *client, | |||
| 558 | 558 | ||
| 559 | ret = gpiochip_add(&chip->gpio_chip); | 559 | ret = gpiochip_add(&chip->gpio_chip); |
| 560 | if (ret) | 560 | if (ret) |
| 561 | goto out_failed; | 561 | goto out_failed_irq; |
| 562 | 562 | ||
| 563 | if (pdata->setup) { | 563 | if (pdata->setup) { |
| 564 | ret = pdata->setup(client, chip->gpio_chip.base, | 564 | ret = pdata->setup(client, chip->gpio_chip.base, |
| @@ -570,8 +570,9 @@ static int __devinit pca953x_probe(struct i2c_client *client, | |||
| 570 | i2c_set_clientdata(client, chip); | 570 | i2c_set_clientdata(client, chip); |
| 571 | return 0; | 571 | return 0; |
| 572 | 572 | ||
| 573 | out_failed: | 573 | out_failed_irq: |
| 574 | pca953x_irq_teardown(chip); | 574 | pca953x_irq_teardown(chip); |
| 575 | out_failed: | ||
| 575 | kfree(chip->dyn_pdata); | 576 | kfree(chip->dyn_pdata); |
| 576 | kfree(chip); | 577 | kfree(chip); |
| 577 | return ret; | 578 | return ret; |
