--- linux-2.2.0/drivers/char/bttv.c.original Sat Jan 30 12:14:34 1999 +++ linux-2.2.0/drivers/char/bttv.c Sat Jan 30 12:34:35 1999 @@ -1535,7 +1535,7 @@ users+=bttvs[i].user; if (users==1) find_vga(); - btv->fbuffer=NULL; + /* btv->fbuffer=NULL; */ if (!btv->fbuffer) btv->fbuffer=(unsigned char *) rvmalloc(2*BTTV_MAX_FBUF); if (!btv->fbuffer) @@ -1560,9 +1560,9 @@ btv->cap&=~3; bt848_set_risc_jmps(btv); - if(btv->fbuffer) +/* if(btv->fbuffer) rvfree((void *) btv->fbuffer, 2*BTTV_MAX_FBUF); - btv->fbuffer=0; + btv->fbuffer=0; */ MOD_DEC_USE_COUNT; } @@ -3712,6 +3712,9 @@ if (btv->vbibuf) vfree((void *) btv->vbibuf); + if(btv->fbuffer) + rvfree((void *) btv->fbuffer, 2*BTTV_MAX_FBUF); + btv->fbuffer=0; free_irq(btv->irq,btv); DEBUG(printk(KERN_DEBUG "bt848_mem: 0x%08x.\n", btv->bt848_mem));