Module Name:    src
Committed By:   mrg
Date:           Sat Feb 25 20:54:03 UTC 2012

Modified Files:
        src/sys/dev/usb [jmcneill-usbmp]: TODO.usbmp

Log Message:
update to reality:
- intr_context fixed
- SMP usb_detach_wait/wakeup()
- mark a couple more drivers at tested


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/dev/usb/TODO.usbmp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/usb/TODO.usbmp
diff -u src/sys/dev/usb/TODO.usbmp:1.1.2.3 src/sys/dev/usb/TODO.usbmp:1.1.2.4
--- src/sys/dev/usb/TODO.usbmp:1.1.2.3	Sat Feb 25 12:57:32 2012
+++ src/sys/dev/usb/TODO.usbmp	Sat Feb 25 20:54:03 2012
@@ -1,4 +1,4 @@
-$NetBSD: TODO.usbmp,v 1.1.2.3 2012/02/25 12:57:32 mrg Exp $
+$NetBSD: TODO.usbmp,v 1.1.2.4 2012/02/25 20:54:03 mrg Exp $
 
 
 the majority of the USB MP device interface is documented in usbdivar.h.
@@ -17,20 +17,13 @@ eg, "if (lock_ptr) mutex_enter(lock_ptr)
 add lots of asserts
 
 
-bus->intr_context issues:
-  - intr_context is raised when the USB lock is dropped to call the call back
-    for usb_transfer_complete(), then some other cpu can run, take the lock
-    and end up triggering an "intr_context != 0" condition.
-  - usb_transfer_complete() is sometimes called with host intr lock held,
-    sometimes with usb lock
-  - hardware interrupt takes host intr lock to protect intr_context, but
-    software interrupt takes USB lock.
-  - need to re-consider soft_intr() API
+usb_transfer_complete() is sometimes called with host intr lock held,
+sometimes with usb lock.  may need to re-consider soft_intr() API.
 
 
-wakeup removal core:
+wake/wakeup conversion:
   - usb_detach_wait/wakeup() -> add a usb_detach_cvwait/broadcast() that
-    take a mutex
+    take a mutex (done)
   - drivers:
       if_aue.c
       if_axe.c
@@ -40,7 +33,7 @@ wakeup removal core:
       ucom.c
       ucycom.c
       ugen.c
-      uhid.c		- done, untested
+      uhid.c		- done
       uhso.c
       uirda.c
       ulpt.c
@@ -113,17 +106,18 @@ missing CALLOUT_MPSAFE drivers:
   - if_ural
   - if_url
   - if_zyd
-  - ohci
-  - uhci
   - ukbd
   - ulpt
-  - usbdi
   - uyurex
 
+  - ohci
+  - uhci
+  - usbdi
+
 
 driver testing:		STATUS
   - uhub		working
-  - uhid		working, MPSAFE patches not yet fully tested
+  - uhid		working
   - uhidev		working
   - ums			working
   - uts

Reply via email to