Commit b957dfdc authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (7555): em28xx: remove timeout

It seems that we don't need a timeout for em28xx.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent a9dbbeb7
...@@ -63,8 +63,6 @@ MODULE_PARM_DESC(isoc_debug, "enable debug messages [isoc transfers]"); ...@@ -63,8 +63,6 @@ MODULE_PARM_DESC(isoc_debug, "enable debug messages [isoc transfers]");
printk(KERN_INFO "%s %s :"fmt, \ printk(KERN_INFO "%s %s :"fmt, \
dev->name, __func__ , ##arg); } while (0) dev->name, __func__ , ##arg); } while (0)
#define BUFFER_TIMEOUT msecs_to_jiffies(2000) /* 2 seconds */
/* Limits minimum and default number of buffers */ /* Limits minimum and default number of buffers */
#define EM28XX_MIN_BUF 4 #define EM28XX_MIN_BUF 4
#define EM28XX_DEF_BUF 8 #define EM28XX_DEF_BUF 8
...@@ -133,8 +131,6 @@ static inline void buffer_filled(struct em28xx *dev, ...@@ -133,8 +131,6 @@ static inline void buffer_filled(struct em28xx *dev,
struct em28xx_dmaqueue *dma_q, struct em28xx_dmaqueue *dma_q,
struct em28xx_buffer *buf) struct em28xx_buffer *buf)
{ {
mod_timer(&dma_q->timeout, jiffies + BUFFER_TIMEOUT);
/* Advice that buffer was filled */ /* Advice that buffer was filled */
em28xx_isocdbg("[%p/%d] wakeup\n", buf, buf->vb.i); em28xx_isocdbg("[%p/%d] wakeup\n", buf, buf->vb.i);
buf->vb.state = VIDEOBUF_DONE; buf->vb.state = VIDEOBUF_DONE;
...@@ -445,7 +441,6 @@ static void em28xx_uninit_isoc(struct em28xx *dev) ...@@ -445,7 +441,6 @@ static void em28xx_uninit_isoc(struct em28xx *dev)
dev->isoc_ctl.num_bufs = 0; dev->isoc_ctl.num_bufs = 0;
del_timer(&dev->vidq.timeout);
em28xx_capture_start(dev, 0); em28xx_capture_start(dev, 0);
} }
...@@ -560,28 +555,6 @@ static int em28xx_start_thread(struct em28xx_dmaqueue *dma_q) ...@@ -560,28 +555,6 @@ static int em28xx_start_thread(struct em28xx_dmaqueue *dma_q)
return 0; 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 Videobuf operations
------------------------------------------------------------------*/ ------------------------------------------------------------------*/
...@@ -2212,10 +2185,6 @@ static int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev, ...@@ -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.active);
INIT_LIST_HEAD(&dev->vidq.queued); 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) { if (dev->has_msp34xx) {
/* Send a reset to other chips via gpio */ /* Send a reset to other chips via gpio */
......
...@@ -138,7 +138,6 @@ struct em28xx_buffer { ...@@ -138,7 +138,6 @@ struct em28xx_buffer {
struct em28xx_dmaqueue { struct em28xx_dmaqueue {
struct list_head active; struct list_head active;
struct list_head queued; struct list_head queued;
struct timer_list timeout;
wait_queue_head_t wq; wait_queue_head_t wq;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment