[media] media: ov5670: Fix not streaming issue after resume
authorChiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>
Fri, 1 Sep 2017 22:08:31 +0000 (19:08 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 4 Oct 2017 20:09:47 +0000 (17:09 -0300)
Previously, the sensor was not streaming after resume from suspend,
i.e. on S0->S3->S0 transition. Due to this, camera app preview appeared
as stuck.

Now, handle streaming state correctly in case of suspend-resume.

Signed-off-by: Chiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/i2c/ov5670.c

index 759ca62..a65469f 100644 (file)
@@ -2341,8 +2341,6 @@ static int ov5670_start_streaming(struct ov5670 *ov5670)
                return ret;
        }
 
-       ov5670->streaming = true;
-
        return 0;
 }
 
@@ -2356,8 +2354,6 @@ static int ov5670_stop_streaming(struct ov5670 *ov5670)
        if (ret)
                dev_err(&client->dev, "%s failed to set stream\n", __func__);
 
-       ov5670->streaming = false;
-
        /* Return success even if it was an error, as there is nothing the
         * caller can do about it.
         */
@@ -2388,6 +2384,7 @@ static int ov5670_set_stream(struct v4l2_subdev *sd, int enable)
                ret = ov5670_stop_streaming(ov5670);
                pm_runtime_put(&client->dev);
        }
+       ov5670->streaming = enable;
        goto unlock_and_return;
 
 error: