Message ID | 1606448892-19167-1-git-send-email-bingbu.cao@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: ov9734: hold lock to check streaming state | expand |
On (20/11/27 11:48), Bingbu Cao wrote: > 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: Tomasz Figa <tfiga@chromium.org> > Reported-by: Sergey Senozhatsky <senozhatsky@chromium.org> > Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> -ss
diff --git a/drivers/media/i2c/ov9734.c b/drivers/media/i2c/ov9734.c index 4b9a2e9288e7..e212465489e8 100644 --- a/drivers/media/i2c/ov9734.c +++ b/drivers/media/i2c/ov9734.c @@ -637,10 +637,12 @@ static int ov9734_set_stream(struct v4l2_subdev *sd, int enable) struct i2c_client *client = v4l2_get_subdevdata(sd); int ret = 0; - if (ov9734->streaming == enable) + mutex_lock(&ov9734->mutex); + if (ov9734->streaming == enable) { + mutex_unlock(&ov9734->mutex); return 0; + } - mutex_lock(&ov9734->mutex); if (enable) { ret = pm_runtime_get_sync(&client->dev); if (ret < 0) {
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: Tomasz Figa <tfiga@chromium.org> Reported-by: Sergey Senozhatsky <senozhatsky@chromium.org> Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> --- drivers/media/i2c/ov9734.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)