forked from luck/tmp_suning_uos_patched
[media] ivtv: Make two ivtv_msleep_timeout calls uninterruptable
Two ivtv_msleep_timeout() calls are incorrectly flagged as interruptable. The first is in the init sequence for a capture and is required for stable hardware setup. The second is at the end of the capture and used to handle the last data transfer. Failure to wait for this last transfer can result in stale data being read at the start of the next capture. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
21d2e938d3
commit
7700a0d293
@ -589,7 +589,7 @@ int ivtv_start_v4l2_encode_stream(struct ivtv_stream *s)
|
||||
v4l2_subdev_call(itv->sd_audio, audio, s_stream, 1);
|
||||
/* Avoid unpredictable PCI bus hang - disable video clocks */
|
||||
v4l2_subdev_call(itv->sd_video, video, s_stream, 0);
|
||||
ivtv_msleep_timeout(300, 1);
|
||||
ivtv_msleep_timeout(300, 0);
|
||||
ivtv_vapi(itv, CX2341X_ENC_INITIALIZE_INPUT, 0);
|
||||
v4l2_subdev_call(itv->sd_video, video, s_stream, 1);
|
||||
}
|
||||
@ -834,7 +834,7 @@ int ivtv_stop_v4l2_encode_stream(struct ivtv_stream *s, int gop_end)
|
||||
}
|
||||
|
||||
/* Handle any pending interrupts */
|
||||
ivtv_msleep_timeout(100, 1);
|
||||
ivtv_msleep_timeout(100, 0);
|
||||
}
|
||||
|
||||
atomic_dec(&itv->capturing);
|
||||
|
Loading…
Reference in New Issue
Block a user