OSDN Git Service

media: ov5647: Protect s_stream() with mutex
authorJacopo Mondi <jacopo@jmondi.org>
Thu, 19 Nov 2020 16:32:30 +0000 (17:32 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 12 Jan 2021 15:10:53 +0000 (16:10 +0100)
Use the driver mutex to protect s_stream() operations.
This will become more relevant once the sensor will support more formats
and set_format() could be issue concurrently to s_stream().

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/ov5647.c

index 2e7a6cb..69a5e25 100644 (file)
@@ -462,10 +462,17 @@ static const struct v4l2_subdev_core_ops ov5647_subdev_core_ops = {
 
 static int ov5647_s_stream(struct v4l2_subdev *sd, int enable)
 {
+       struct ov5647 *sensor = to_state(sd);
+       int ret;
+
+       mutex_lock(&sensor->lock);
        if (enable)
-               return ov5647_stream_on(sd);
+               ret = ov5647_stream_on(sd);
        else
-               return ov5647_stream_off(sd);
+               ret = ov5647_stream_off(sd);
+       mutex_unlock(&sensor->lock);
+
+       return ret;
 }
 
 static const struct v4l2_subdev_video_ops ov5647_subdev_video_ops = {