[media] mn88472: One function call less in mn88472_init() after error detection

The release_firmware() function was called in three cases by the mn88472_init()
function during error handling even if the passed variable "fw" contained still
a null pointer.

This implementation detail could be improved by the introduction of another
jump label.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
Markus Elfring 2015-02-01 15:34:37 -03:00 committed by Mauro Carvalho Chehab
parent 68feaa6b8b
commit bf104c238d

View file

@ -270,7 +270,7 @@ static int mn88472_init(struct dvb_frontend *fe)
ret = regmap_write(dev->regmap[0], 0xf5, 0x03);
if (ret)
goto err;
goto firmware_release;
for (remaining = fw->size; remaining > 0;
remaining -= (dev->i2c_wr_max - 1)) {
@ -283,13 +283,13 @@ static int mn88472_init(struct dvb_frontend *fe)
if (ret) {
dev_err(&client->dev,
"firmware download failed=%d\n", ret);
goto err;
goto firmware_release;
}
}
ret = regmap_write(dev->regmap[0], 0xf5, 0x00);
if (ret)
goto err;
goto firmware_release;
release_firmware(fw);
fw = NULL;
@ -298,9 +298,9 @@ static int mn88472_init(struct dvb_frontend *fe)
dev->warm = true;
return 0;
err:
firmware_release:
release_firmware(fw);
err:
dev_dbg(&client->dev, "failed=%d\n", ret);
return ret;
}