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
@@ -3264,7 +3264,10 @@ static int zoran_open(struct video_devic
 
 			btwrite(IRQ_MASK, ZR36057_ISR);	// Clears interrupts
 			btor(ZR36057_ICR_IntPinEn, ZR36057_ICR);
-			dev->busy = 0;	/* Allow second open */
+			/* FIXME: Don't do it this way, use the
+			 * video_device->fops registration for a sane
+			 * implementation of multiple opens */
+			dev->users--;	/* Allow second open */
 		}
 
 		break;
@@ -3322,6 +3325,7 @@ static void zoran_close(struct video_dev
 		}
 	}
 
+	dev->users++;
 	zr->user--;
 
 	MOD_DEC_USE_COUNT;
