There were still two returns in smiapp_start_streaming() that should have been a goto to ensure mutex_unload was called before returning. This fixes this smatch warning: drivers/media/i2c/smiapp/smiapp-core.c:1483 smiapp_start_streaming() warn: inconsistent returns 'mutex:&sensor->mutex'. Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> --- drivers/media/i2c/smiapp/smiapp-core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c index 77dfce7c3be9..84f9771b5fed 100644 --- a/drivers/media/i2c/smiapp/smiapp-core.c +++ b/drivers/media/i2c/smiapp/smiapp-core.c @@ -1362,13 +1362,13 @@ static int smiapp_start_streaming(struct smiapp_sensor *sensor) rval = smiapp_write( sensor, SMIAPP_REG_U8_BINNING_TYPE, binning_type); if (rval < 0) - return rval; + goto out; binning_mode = 1; } rval = smiapp_write(sensor, SMIAPP_REG_U8_BINNING_MODE, binning_mode); if (rval < 0) - return rval; + goto out; /* Set up PLL */ rval = smiapp_pll_configure(sensor); -- 2.23.0