The use of 'fail1' and 'fail2' is not correct. Reorder these calls to branch at the right place of the error handling path. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> --- drivers/staging/media/atomisp/i2c/atomisp-lm3554.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/atomisp/i2c/atomisp-lm3554.c b/drivers/staging/media/atomisp/i2c/atomisp-lm3554.c index 723fa74ff815..1e5f516f6e50 100644 --- a/drivers/staging/media/atomisp/i2c/atomisp-lm3554.c +++ b/drivers/staging/media/atomisp/i2c/atomisp-lm3554.c @@ -871,7 +871,7 @@ static int lm3554_probe(struct i2c_client *client) ARRAY_SIZE(lm3554_controls)); if (err) { dev_err(&client->dev, "error initialize a ctrl_handler.\n"); - goto fail2; + goto fail1; } for (i = 0; i < ARRAY_SIZE(lm3554_controls); i++) @@ -879,7 +879,6 @@ static int lm3554_probe(struct i2c_client *client) NULL); if (flash->ctrl_handler.error) { - dev_err(&client->dev, "ctrl_handler error.\n"); goto fail2; } @@ -888,7 +887,7 @@ static int lm3554_probe(struct i2c_client *client) err = media_entity_pads_init(&flash->sd.entity, 0, NULL); if (err) { dev_err(&client->dev, "error initialize a media entity.\n"); - goto fail1; + goto fail2; } flash->sd.entity.function = MEDIA_ENT_F_FLASH; -- 2.17.0