V4L/DVB (7555): em28xx: remove timeout
authorMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 13 Apr 2008 18:01:12 +0000 (15:01 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 24 Apr 2008 17:08:48 +0000 (14:08 -0300)
It seems that we don't need a timeout for em28xx.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/em28xx/em28xx.h

index 0aaf4e767e0d1d6c475fc6b3ae1d4056fafd45bd..d6ada6226b54b8dd3cd913d489ab8e97dc30da3f 100644 (file)
@@ -63,8 +63,6 @@ MODULE_PARM_DESC(isoc_debug, "enable debug messages [isoc transfers]");
                printk(KERN_INFO "%s %s :"fmt, \
                         dev->name, __func__ , ##arg); } while (0)
 
-#define BUFFER_TIMEOUT     msecs_to_jiffies(2000)  /* 2 seconds */
-
 /* Limits minimum and default number of buffers */
 #define EM28XX_MIN_BUF 4
 #define EM28XX_DEF_BUF 8
@@ -133,8 +131,6 @@ static inline void buffer_filled(struct em28xx *dev,
                                  struct em28xx_dmaqueue *dma_q,
                                  struct em28xx_buffer *buf)
 {
-       mod_timer(&dma_q->timeout, jiffies + BUFFER_TIMEOUT);
-
        /* Advice that buffer was filled */
        em28xx_isocdbg("[%p/%d] wakeup\n", buf, buf->vb.i);
        buf->vb.state = VIDEOBUF_DONE;
@@ -445,7 +441,6 @@ static void em28xx_uninit_isoc(struct em28xx *dev)
 
        dev->isoc_ctl.num_bufs = 0;
 
-       del_timer(&dev->vidq.timeout);
        em28xx_capture_start(dev, 0);
 }
 
@@ -560,28 +555,6 @@ static int em28xx_start_thread(struct em28xx_dmaqueue  *dma_q)
        return 0;
 }
 
-static void em28xx_vid_timeout(unsigned long data)
-{
-       struct em28xx      *dev  = (struct em28xx *)data;
-       struct em28xx_dmaqueue *vidq = &dev->vidq;
-       struct em28xx_buffer   *buf;
-       unsigned long flags;
-
-       spin_lock_irqsave(&dev->slock, flags);
-
-       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);
-               em28xx_videodbg("em28xx/0: [%p/%d] timeout\n",
-                               buf, buf->vb.i);
-       }
-       /* Instead of trying to restart, just sets timeout again */
-       mod_timer(&vidq->timeout, jiffies + BUFFER_TIMEOUT);
-
-       spin_unlock_irqrestore(&dev->slock, flags);
-}
-
 /* ------------------------------------------------------------------
        Videobuf operations
    ------------------------------------------------------------------*/
@@ -2212,10 +2185,6 @@ static int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev,
        INIT_LIST_HEAD(&dev->vidq.active);
        INIT_LIST_HEAD(&dev->vidq.queued);
 
-       dev->vidq.timeout.function = em28xx_vid_timeout;
-       dev->vidq.timeout.data     = (unsigned long)dev;
-       init_timer(&dev->vidq.timeout);
-
 
        if (dev->has_msp34xx) {
                /* Send a reset to other chips via gpio */
index af15fd3f4f813cecb128a3a2268f5deed83024f4..6d62357a038f81677df6b9ab2a9930cdcf020145 100644 (file)
@@ -138,7 +138,6 @@ struct em28xx_buffer {
 struct em28xx_dmaqueue {
        struct list_head       active;
        struct list_head       queued;
-       struct timer_list      timeout;
 
        wait_queue_head_t          wq;