mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
V4L/DVB (5843): ivtv: fix missing signal_pending check.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
f885969196
commit
90851fe9fa
1 changed files with 1 additions and 4 deletions
|
@ -807,7 +807,6 @@ int ivtv_stop_v4l2_encode_stream(struct ivtv_stream *s, int gop_end)
|
||||||
then = jiffies;
|
then = jiffies;
|
||||||
/* Make sure DMA is complete */
|
/* Make sure DMA is complete */
|
||||||
add_wait_queue(&s->waitq, &wait);
|
add_wait_queue(&s->waitq, &wait);
|
||||||
set_current_state(TASK_INTERRUPTIBLE);
|
|
||||||
do {
|
do {
|
||||||
/* check if DMA is pending */
|
/* check if DMA is pending */
|
||||||
if ((s->type == IVTV_ENC_STREAM_TYPE_MPG) && /* MPG Only */
|
if ((s->type == IVTV_ENC_STREAM_TYPE_MPG) && /* MPG Only */
|
||||||
|
@ -822,9 +821,7 @@ int ivtv_stop_v4l2_encode_stream(struct ivtv_stream *s, int gop_end)
|
||||||
} else if (read_reg(IVTV_REG_DMASTATUS) & 0x02) {
|
} else if (read_reg(IVTV_REG_DMASTATUS) & 0x02) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} while (!ivtv_sleep_timeout(HZ / 100, 1) && then + HZ * 2 > jiffies);
|
||||||
ivtv_sleep_timeout(HZ / 100, 1);
|
|
||||||
} while (then + HZ * 2 > jiffies);
|
|
||||||
|
|
||||||
set_current_state(TASK_RUNNING);
|
set_current_state(TASK_RUNNING);
|
||||||
remove_wait_queue(&s->waitq, &wait);
|
remove_wait_queue(&s->waitq, &wait);
|
||||||
|
|
Loading…
Reference in a new issue