[cpia] cpia 1.0 bugreport

Arjan van de Ven arjan@fenrus.demon.nl
Thu, 15 Jun 2000 08:17:13 +0200 (CEST)


In article <3948229C.4C4DD4CF@saraber.dhs.org> you wrote:

> My system is a dual Celeron 433 (not overclocked) and i'm trying to run

There are 2 bad pieces of code in this case. The CPIA one can be fixed
with the patch below, the usb one is more tricky. Basically, the UHCI
USB driver (the "backend" driver for your mobo) has some serious deadlocks
on SMP systems. These are reported to Alan Cox and should appear on the 
"todo" list really soon.

Greetings,
    Arjan van de Ven



--- cpia_usb.c~	Fri Mar 31 04:00:01 2000
+++ cpia_usb.c	Fri Jun  2 19:08:53 2000
@@ -260,8 +260,10 @@
 
 error_all:
 	kfree (ucpia->sbuf[1].data);
+	ucpia->sbuf[1].data = NULL;
 error_0:
 	kfree (ucpia->sbuf[0].data);
+	ucpia->sbuf[0].data = NULL;
 	
 	return retval;
 }
@@ -436,8 +438,9 @@
 
 	cpia_usb_free_resources(ucpia, 1);
 
-	if (!ucpia->present)
+	if (!ucpia->present) 
 		kfree(ucpia);
+		
 
 	return 0;
 }
@@ -590,8 +593,10 @@
 		ucpia->buffers[0] = NULL;
 	}
 
-	if (!ucpia->open)
+	if (!ucpia->open) {
 		kfree(ucpia);
+		cam->lowlevel_data = NULL;
+	}
 }
 
 int usb_cpia_init(void)