mm/fs corruption with bttv [PATCH]

Richard Guenther (richard.guenther@student.uni-tuebingen.de)
Mon, 15 Feb 1999 12:25:02 +0100 (MET)


Hi!

Now after four weeks of testing without any further mm/fs corruption,
I´m convinced that the problems have really gone away with the attached
patch. I just re-diffed it against 2.2.2-pre2, as the old one did
not apply cleanly. See my previous e-mail for reasoning and downsides
of the patch.

Richard.

--
Richard Guenther <richard.guenther@student.uni-tuebingen.de>
PGP: 2E829319 - 2F 83 FC 93 E9 E4 19 E2 93 7A 32 42 45 37 23 57
WWW: http://www.anatom.uni-tuebingen.de/~richi/

--- linux-2.2.0/drivers/char/bttv.c Thu Feb 11 18:28:19 1999 +++ linux-2.2.0/drivers/char/bttv.c.orig Thu Feb 11 18:25:48 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; } @@ -3709,6 +3709,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));

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/