Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −31
Original line number Diff line number Diff line
@@ -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 */
+0 −1
Original line number Diff line number Diff line
@@ -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;