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

[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
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -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)
			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)
	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;
}
}