From 607386c3d653dee94808640dbc0ebf58c9308d41 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sun, 13 Apr 2008 11:40:36 -0300 Subject: em28xx: Fix timeout code From: Mauro Carvalho Chehab Signed-off-by: Mauro Carvalho Chehab --- linux/drivers/media/video/em28xx/em28xx-video.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'linux/drivers') 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); -- cgit v1.2.3