summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-04-13 11:40:36 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-13 11:40:36 -0300
commit607386c3d653dee94808640dbc0ebf58c9308d41 (patch)
tree9a57f40c9d72b7e6de120cf8e95b3165bab2ceff /linux/drivers/media/video
parentf608f62c7cd71c356a71c48404a1d6a898f2b01d (diff)
downloadmediapointer-dvb-s2-607386c3d653dee94808640dbc0ebf58c9308d41.tar.gz
mediapointer-dvb-s2-607386c3d653dee94808640dbc0ebf58c9308d41.tar.bz2
em28xx: Fix timeout code
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r--linux/drivers/media/video/em28xx/em28xx-video.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/linux/drivers/media/video/em28xx/em28xx-video.c b/linux/drivers/media/video/em28xx/em28xx-video.c
index 81e21f538..d21c7ad64 100644
--- a/linux/drivers/media/video/em28xx/em28xx-video.c
+++ b/linux/drivers/media/video/em28xx/em28xx-video.c
@@ -479,6 +479,7 @@ static void em28xx_uninit_isoc(struct em28xx *dev)
dev->isoc_ctl.num_bufs=0;
+ del_timer(&dev->vidq.timeout);
em28xx_capture_start(dev, 0);
}
@@ -614,9 +615,8 @@ static void em28xx_vid_timeout(unsigned long data)
unsigned long flags;
spin_lock_irqsave(&dev->slock,flags);
- while (!list_empty(&vidq->active)) {
- buf = list_entry(vidq->active.next, struct em28xx_buffer,
- vb.queue);
+
+ list_for_each_entry(buf, vidq->active.next, vb.queue) {
list_del(&buf->vb.queue);
buf->vb.state = VIDEOBUF_ERROR;
wake_up(&buf->vb.done);