Hello!

   I do not know, if anybody really uses this driver ('UHCI (Intel PIIX4, VIA,
   ...) support'), but based one the name, I choosen it, and found, that when it
   cannot find any USB host, it forgots to do kmem_destroy_..., and
   because of that any subsequent attempts to load usb-uhci modules ends up
   with BUG in slab.c.
   Here is the patch, below. It is against 2.4.0-test8.

--- drivers/usb/usb-uhci.c.orig Wed Sep 13 17:36:20 2000
+++ drivers/usb/usb-uhci.c      Wed Sep 13 18:34:33 2000
@@ -2842,6 +2842,7 @@
        
        if(!urb_priv_kmem) {
                err("kmem_cache_create for urb_priv_t failed (out of memory)");
+               kmem_cache_destroy(urb_priv_kmem);
                return -ENOMEM;
        }
 #endif 
@@ -2876,6 +2877,15 @@
                        i++;
        }
 
+#ifdef DEBUG_SLAB
+       if (retval < 0 ) {
+               if(kmem_cache_destroy(uhci_desc_kmem))
+                       err("uhci_desc_kmem remained");
+               if(kmem_cache_destroy(urb_priv_kmem))
+                       err("urb_priv_kmem remained");
+       }
+#endif
+       
        return retval;
 }
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to