diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/media/video/zr36067.c linux-2.5/drivers/media/video/zr36067.c
--- bk-linus/drivers/media/video/zr36067.c	2002-11-21 02:15:47.000000000 +0000
+++ linux-2.5/drivers/media/video/zr36067.c	2002-11-21 17:58:57.000000000 +0000
@@ -4158,7 +4162,6 @@ static int do_zoran_ioctl(struct zoran *
 		{
 			struct zoran_status bs;
 			int norm, input, status;
-			unsigned long timeout;
 
 			if (zr->codec_mode != BUZ_MODE_IDLE) {
 				DEBUG1(printk(KERN_ERR
@@ -4204,9 +4207,8 @@ static int do_zoran_ioctl(struct zoran *
 
 			/* sleep 1 second */
 
-			timeout = jiffies + 1 * HZ;
-			while (jiffies < timeout)
-				schedule();
+			set_current_state(TASK_UNINTERRUPTIBLE);
+			schedule_timeout(HZ);
 
 			/* Get status of video decoder */
 
