mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-11 01:53:20 -04:00
media: atomisp: gc0310: Add error_unlock label to s_stream()
Add error_unlock label + goto error_unlock on error to remove separate unlock-s in all the error-exit paths. Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
ef5fb5d470
commit
2b2297b11b
@@ -428,31 +428,27 @@ static int gc0310_s_stream(struct v4l2_subdev *sd, int enable)
|
||||
if (enable) {
|
||||
/* enable per frame MIPI and sensor ctrl reset */
|
||||
ret = i2c_smbus_write_byte_data(client, 0xFE, 0x30);
|
||||
if (ret) {
|
||||
mutex_unlock(&dev->input_lock);
|
||||
return ret;
|
||||
}
|
||||
if (ret)
|
||||
goto error_unlock;
|
||||
}
|
||||
|
||||
ret = i2c_smbus_write_byte_data(client, GC0310_RESET_RELATED, GC0310_REGISTER_PAGE_3);
|
||||
if (ret) {
|
||||
mutex_unlock(&dev->input_lock);
|
||||
return ret;
|
||||
}
|
||||
if (ret)
|
||||
goto error_unlock;
|
||||
|
||||
ret = i2c_smbus_write_byte_data(client, GC0310_SW_STREAM,
|
||||
enable ? GC0310_START_STREAMING : GC0310_STOP_STREAMING);
|
||||
if (ret) {
|
||||
mutex_unlock(&dev->input_lock);
|
||||
return ret;
|
||||
}
|
||||
if (ret)
|
||||
goto error_unlock;
|
||||
|
||||
ret = i2c_smbus_write_byte_data(client, GC0310_RESET_RELATED, GC0310_REGISTER_PAGE_0);
|
||||
if (ret) {
|
||||
mutex_unlock(&dev->input_lock);
|
||||
return ret;
|
||||
}
|
||||
if (ret)
|
||||
goto error_unlock;
|
||||
|
||||
mutex_unlock(&dev->input_lock);
|
||||
return 0;
|
||||
|
||||
error_unlock:
|
||||
mutex_unlock(&dev->input_lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user