mirror of
https://github.com/torvalds/linux.git
synced 2024-12-11 05:33:09 +00:00
[media] vivid: allow s_dv_timings if it is the same as the current
Allow setting the same timings as the current timings (i.e., do nothing in that case). The code was actually there, but the vb2_is_busy() call was done before the timings check instead of afterwards. Found by v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
02aa769d9f
commit
1bd0835a27
@ -1585,13 +1585,13 @@ int vivid_vid_cap_s_dv_timings(struct file *file, void *_fh,
|
||||
|
||||
if (!vivid_is_hdmi_cap(dev))
|
||||
return -ENODATA;
|
||||
if (vb2_is_busy(&dev->vb_vid_cap_q))
|
||||
return -EBUSY;
|
||||
if (!v4l2_find_dv_timings_cap(timings, &vivid_dv_timings_cap,
|
||||
0, NULL, NULL))
|
||||
return -EINVAL;
|
||||
if (v4l2_match_dv_timings(timings, &dev->dv_timings_cap, 0))
|
||||
return 0;
|
||||
if (vb2_is_busy(&dev->vb_vid_cap_q))
|
||||
return -EBUSY;
|
||||
dev->dv_timings_cap = *timings;
|
||||
vivid_update_format_cap(dev, false);
|
||||
return 0;
|
||||
|
@ -1127,13 +1127,13 @@ int vivid_vid_out_s_dv_timings(struct file *file, void *_fh,
|
||||
|
||||
if (!vivid_is_hdmi_out(dev))
|
||||
return -ENODATA;
|
||||
if (vb2_is_busy(&dev->vb_vid_out_q))
|
||||
return -EBUSY;
|
||||
if (!v4l2_find_dv_timings_cap(timings, &vivid_dv_timings_cap,
|
||||
0, NULL, NULL))
|
||||
return -EINVAL;
|
||||
if (v4l2_match_dv_timings(timings, &dev->dv_timings_out, 0))
|
||||
return 0;
|
||||
if (vb2_is_busy(&dev->vb_vid_out_q))
|
||||
return -EBUSY;
|
||||
dev->dv_timings_out = *timings;
|
||||
vivid_update_format_out(dev);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user