Currently the mutexes for the USB ethernet drivers don't play well with the USB
code, and the kernel ends up sleeping with them held, which can deadlock the
machine (it locked my machine up a couple of times when I would unplug my cue0
adapter.)  I worked around it by just turning off the locking for now.  Giant
still protects all this, so this is safe:

Index: dev/usb/if_cuereg.h
===================================================================
RCS file: /usr/cvs/src/sys/dev/usb/if_cuereg.h,v
retrieving revision 1.6
diff -u -r1.6 if_cuereg.h
--- dev/usb/if_cuereg.h 2000/10/24 22:38:54     1.6
+++ dev/usb/if_cuereg.h 2000/12/27 22:53:41
@@ -182,5 +182,10 @@
        struct mtx              cue_mtx;
 };
 
+#if 0
 #define        CUE_LOCK(_sc)           mtx_enter(&(_sc)->cue_mtx, MTX_DEF)
 #define        CUE_UNLOCK(_sc)         mtx_exit(&(_sc)->cue_mtx, MTX_DEF)
+#else
+#define        CUE_LOCK(x)
+#define CUE_UNLOCK(x)
+#endif

-- 

John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to