diff options
author | Antti Palosaari <crope@iki.fi> | 2016-05-14 08:29:21 +0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2016-06-07 21:38:44 +0300 |
commit | 37cf9b2d5b0fdeb61642e15ad30251f1371e25d5 (patch) | |
tree | a99ce049233a9406c728a60eb5a327aeedda34a7 /drivers/media/dvb-frontends/mn88473.c | |
parent | 9c2ccd3c645806a1280c4f66705fb6dd55168cd6 (diff) | |
download | linux-37cf9b2d5b0fdeb61642e15ad30251f1371e25d5.tar.xz |
[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/media/dvb-frontends/mn88473.c')
-rw-r--r-- | drivers/media/dvb-frontends/mn88473.c | 5 |
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: |