From 9d01ccfc5328f684a71048761df8f6b375bdf63a Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Wed, 25 Feb 2004 16:21:38 -0800 Subject: [PATCH] [PATCH] dvb: Update saa7146 driver core From: Michael Hunold - saa7146: fix timeout bug on AMD64 in saa7146_wait_for_debi_done() - saa7146: release resources for video overlay properly, don't (incorrectly) rely on VIDIOC_OVERLAY(0) --- drivers/media/common/saa7146_core.c | 6 +++--- drivers/media/common/saa7146_video.c | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/common/saa7146_core.c b/drivers/media/common/saa7146_core.c index 706783c1e5623..369d949fded45 100644 --- a/drivers/media/common/saa7146_core.c +++ b/drivers/media/common/saa7146_core.c @@ -69,14 +69,14 @@ void saa7146_set_gpio(struct saa7146_dev *dev, u8 pin, u8 data) /* This DEBI code is based on the saa7146 Stradis driver by Nathan Laredo */ int saa7146_wait_for_debi_done(struct saa7146_dev *dev) { - int start; + unsigned long start; /* wait for registers to be programmed */ start = jiffies; while (1) { if (saa7146_read(dev, MC2) & 2) break; - if (jiffies-start > HZ/20) { + if (time_after(jiffies, start + HZ/20)) { DEB_S(("timed out while waiting for registers getting programmed\n")); return -ETIMEDOUT; } @@ -88,7 +88,7 @@ int saa7146_wait_for_debi_done(struct saa7146_dev *dev) if (!(saa7146_read(dev, PSR) & SPCI_DEBI_S)) break; saa7146_read(dev, MC2); - if (jiffies-start > HZ/4) { + if (time_after(jiffies, start + HZ/4)) { DEB_S(("timed out while waiting for transfer completion\n")); return -ETIMEDOUT; } diff --git a/drivers/media/common/saa7146_video.c b/drivers/media/common/saa7146_video.c index c3e935d288d6e..f7b7b1f708fa0 100644 --- a/drivers/media/common/saa7146_video.c +++ b/drivers/media/common/saa7146_video.c @@ -1413,6 +1413,7 @@ static void video_close(struct saa7146_dev *dev, struct file *file) spin_lock_irqsave(&dev->slock,flags); saa7146_stop_preview(fh); spin_unlock_irqrestore(&dev->slock,flags); + saa7146_res_free(fh, RESOURCE_DMA1_HPS|RESOURCE_DMA2_CLP); } } -- 2.53.0