staging: media: atomisp: drop check for reentrant .s_stream()
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Fri, 6 Oct 2023 10:08:42 +0000 (12:08 +0200)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 11 Oct 2023 14:21:33 +0000 (16:21 +0200)
The subdev .s_stream() operation shall not be called to start streaming
on an already started subdev, or stop streaming on a stopped subdev.
Remove the check that guards against that condition.

Also fixes a smatch warning:

drivers/staging/media/atomisp/i2c/atomisp-gc0310.c:446 gc0310_s_stream() warn: missing error code 'ret'

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
CC: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
drivers/staging/media/atomisp/i2c/atomisp-gc0310.c

index c438accb0472b1cffb87398dc337a5befa2a10ad..58cddf11c9ab6a39e704ba1ae1b0c47efc8da87b 100644 (file)
@@ -441,11 +441,6 @@ static int gc0310_s_stream(struct v4l2_subdev *sd, int enable)
        dev_dbg(&client->dev, "%s S enable=%d\n", __func__, enable);
        mutex_lock(&dev->input_lock);
 
-       if (dev->is_streaming == enable) {
-               dev_warn(&client->dev, "stream already %s\n", enable ? "started" : "stopped");
-               goto error_unlock;
-       }
-
        if (enable) {
                ret = pm_runtime_get_sync(&client->dev);
                if (ret < 0)
@@ -497,7 +492,6 @@ static int gc0310_s_stream(struct v4l2_subdev *sd, int enable)
 error_power_down:
        pm_runtime_put(&client->dev);
        dev->is_streaming = false;
-error_unlock:
        mutex_unlock(&dev->input_lock);
        return ret;
 }