Commit e358c8a6 authored by Markus Elfring's avatar Markus Elfring Committed by Mauro Carvalho Chehab

[media] si2157: One function call less in si2157_init() after error

The release_firmware() function was called in some cases by the si2157_init()
function during error handling even if the passed variable contained still
a null pointer. This implementation detail could be improved
by the introduction of another jump label.
Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent dc89cfcf
...@@ -157,7 +157,7 @@ static int si2157_init(struct dvb_frontend *fe) ...@@ -157,7 +157,7 @@ static int si2157_init(struct dvb_frontend *fe)
dev_err(&s->client->dev, "firmware file '%s' is invalid\n", dev_err(&s->client->dev, "firmware file '%s' is invalid\n",
fw_file); fw_file);
ret = -EINVAL; ret = -EINVAL;
goto err; goto fw_release_exit;
} }
dev_info(&s->client->dev, "downloading firmware from file '%s'\n", dev_info(&s->client->dev, "downloading firmware from file '%s'\n",
...@@ -173,7 +173,7 @@ static int si2157_init(struct dvb_frontend *fe) ...@@ -173,7 +173,7 @@ static int si2157_init(struct dvb_frontend *fe)
dev_err(&s->client->dev, dev_err(&s->client->dev,
"firmware download failed=%d\n", "firmware download failed=%d\n",
ret); ret);
goto err; goto fw_release_exit;
} }
} }
...@@ -195,9 +195,9 @@ static int si2157_init(struct dvb_frontend *fe) ...@@ -195,9 +195,9 @@ static int si2157_init(struct dvb_frontend *fe)
s->active = true; s->active = true;
return 0; return 0;
err: fw_release_exit:
release_firmware(fw); release_firmware(fw);
err:
dev_dbg(&s->client->dev, "failed=%d\n", ret); dev_dbg(&s->client->dev, "failed=%d\n", ret);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment