diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2014-11-19 17:23:15 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2014-11-25 09:12:01 -0500 |
commit | 034e1ec0ce299b9e90056793dcb3187e7add6b62 (patch) | |
tree | e8990347cd8705380b53646eaa68f82351a7b40a | |
parent | 5ed0cf8800c4da58e1e501f7143154897d34e9c2 (diff) |
[media] si2168: One function call less in si2168_init() after error detection
GIT_AUTHOR_DATE=1416472767
The release_firmware() function was called in some cases by the
si2168_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: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r-- | drivers/media/dvb-frontends/si2168.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c index 34206f3fe497..bec3aa5ed0a0 100644 --- a/drivers/media/dvb-frontends/si2168.c +++ b/drivers/media/dvb-frontends/si2168.c | |||
@@ -455,7 +455,7 @@ static int si2168_init(struct dvb_frontend *fe) | |||
455 | dev_err(&s->client->dev, | 455 | dev_err(&s->client->dev, |
456 | "firmware file '%s' not found\n", | 456 | "firmware file '%s' not found\n", |
457 | fw_file); | 457 | fw_file); |
458 | goto err; | 458 | goto error_fw_release; |
459 | } | 459 | } |
460 | } | 460 | } |
461 | 461 | ||
@@ -475,7 +475,7 @@ static int si2168_init(struct dvb_frontend *fe) | |||
475 | dev_err(&s->client->dev, | 475 | dev_err(&s->client->dev, |
476 | "firmware download failed=%d\n", | 476 | "firmware download failed=%d\n", |
477 | ret); | 477 | ret); |
478 | goto err; | 478 | goto error_fw_release; |
479 | } | 479 | } |
480 | } | 480 | } |
481 | 481 | ||
@@ -506,9 +506,10 @@ warm: | |||
506 | s->active = true; | 506 | s->active = true; |
507 | 507 | ||
508 | return 0; | 508 | return 0; |
509 | err: | ||
510 | release_firmware(fw); | ||
511 | 509 | ||
510 | error_fw_release: | ||
511 | release_firmware(fw); | ||
512 | err: | ||
512 | dev_dbg(&s->client->dev, "failed=%d\n", ret); | 513 | dev_dbg(&s->client->dev, "failed=%d\n", ret); |
513 | return ret; | 514 | return ret; |
514 | } | 515 | } |