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;