Any comments would be appreciated.
Description: Use msleep_interruptible() instead of schedule_timeout()
to guarantee the task delays as expected.
Signed-off-by: Nishanth Aravamudan <[email protected]>
Signed-off-by: Maximilian Attems <[email protected]>
---
linux-2.6.9-rc2-bk7-max/drivers/media/video/saa7134/saa7134-tvaudio.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff -puN drivers/media/video/saa7134/saa7134-tvaudio.c~msleep_interruptible-drivers_media_video_saa7134_saa7134-tvaudio drivers/media/video/saa7134/saa7134-tvaudio.c
--- linux-2.6.9-rc2-bk7/drivers/media/video/saa7134/saa7134-tvaudio.c~msleep_interruptible-drivers_media_video_saa7134_saa7134-tvaudio 2004-09-21 21:17:06.000000000 +0200
+++ linux-2.6.9-rc2-bk7-max/drivers/media/video/saa7134/saa7134-tvaudio.c 2004-09-21 21:17:06.000000000 +0200
@@ -324,11 +324,12 @@ static int tvaudio_sleep(struct saa7134_
add_wait_queue(&dev->thread.wq, &wait);
if (dev->thread.scan1 == dev->thread.scan2 && !dev->thread.shutdown) {
- set_current_state(TASK_INTERRUPTIBLE);
- if (timeout < 0)
+ if (timeout < 0) {
+ set_current_state(TASK_INTERRUPTIBLE);
schedule();
+ }
else
- schedule_timeout(timeout);
+ msleep_interruptible(jiffies_to_msecs(timeout));
}
remove_wait_queue(&dev->thread.wq, &wait);
return dev->thread.scan1 != dev->thread.scan2;
_