V4L/DVB (7544): em28xx: Fix timeout code

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c
index ecc146b..229d154 100644
--- a/drivers/media/video/em28xx/em28xx-video.c
+++ b/drivers/media/video/em28xx/em28xx-video.c
@@ -452,6 +452,7 @@
 
 	dev->isoc_ctl.num_bufs=0;
 
+	del_timer(&dev->vidq.timeout);
 	em28xx_capture_start(dev, 0);
 }
 
@@ -575,9 +576,8 @@
 	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);