[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    mm/fs corruption with bttv [PATCH]
From:       Richard Guenther <richard.guenther () student ! uni-tuebingen ! de>
Date:       1999-02-15 11:25:02
[Download RAW message or body]

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/

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic