Commit 9677958d authored by Bingbu Cao's avatar Bingbu Cao Committed by Mauro Carvalho Chehab

media: ov9734: hold lock to check streaming state

The lock in ov9734 is used to protect the streaming state and
serialize the stream on and off callbacks, it should be hold before
checking the streaming state in ov9734_set_stream().
Reported-by: default avatarTomasz Figa <tfiga@chromium.org>
Reported-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: default avatarBingbu Cao <bingbu.cao@intel.com>
Reviewed-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 989bea48
...@@ -637,10 +637,12 @@ static int ov9734_set_stream(struct v4l2_subdev *sd, int enable) ...@@ -637,10 +637,12 @@ static int ov9734_set_stream(struct v4l2_subdev *sd, int enable)
struct i2c_client *client = v4l2_get_subdevdata(sd); struct i2c_client *client = v4l2_get_subdevdata(sd);
int ret = 0; int ret = 0;
if (ov9734->streaming == enable) mutex_lock(&ov9734->mutex);
if (ov9734->streaming == enable) {
mutex_unlock(&ov9734->mutex);
return 0; return 0;
}
mutex_lock(&ov9734->mutex);
if (enable) { if (enable) {
ret = pm_runtime_get_sync(&client->dev); ret = pm_runtime_get_sync(&client->dev);
if (ret < 0) { if (ret < 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment