summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2016-05-14 07:29:21 +0200
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-06-07 20:38:44 +0200
commit37cf9b2d5b0fdeb61642e15ad30251f1371e25d5 (patch)
treea99ce049233a9406c728a60eb5a327aeedda34a7 /drivers
parent[media] staging/media: remove deprecated timb driver (diff)
downloadlinux-37cf9b2d5b0fdeb61642e15ad30251f1371e25d5.tar.xz
linux-37cf9b2d5b0fdeb61642e15ad30251f1371e25d5.zip
[media] mn88473: fix error path on probe()
Latest, 3rd, regmap instance should be freed on error case. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb-frontends/mn88473.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/media/dvb-frontends/mn88473.c b/drivers/media/dvb-frontends/mn88473.c
index 6c5d592161d4..e6933d4cd582 100644
--- a/drivers/media/dvb-frontends/mn88473.c
+++ b/drivers/media/dvb-frontends/mn88473.c
@@ -536,7 +536,7 @@ static int mn88473_probe(struct i2c_client *client,
/* Sleep because chip is active by default */
ret = regmap_write(dev->regmap[2], 0x05, 0x3e);
if (ret)
- goto err_client_2_i2c_unregister_device;
+ goto err_regmap_2_regmap_exit;
/* Create dvb frontend */
memcpy(&dev->frontend.ops, &mn88473_ops, sizeof(dev->frontend.ops));
@@ -547,7 +547,8 @@ static int mn88473_probe(struct i2c_client *client,
dev_info(&client->dev, "Panasonic MN88473 successfully identified\n");
return 0;
-
+err_regmap_2_regmap_exit:
+ regmap_exit(dev->regmap[2]);
err_client_2_i2c_unregister_device:
i2c_unregister_device(dev->client[2]);
err_regmap_1_regmap_exit: