[openfirmware] [commit] r2141 - dev/usb2/hcd/ehci

repository service svn at openfirmware.info
Fri Jan 21 22:03:57 CET 2011


Author: wmb
Date: Fri Jan 21 22:03:57 2011
New Revision: 2141
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2141

Log:
USB EHCI driver - fixed longstanding stack bug in intr-in? which broke USB keyboard support.  I'm unsure why we didn't notice this problem a long time ago.  In the process of fixing the bug, I rewrote part of intr-in? for better stack clarity.

Modified:
   dev/usb2/hcd/ehci/intr.fth

Modified: dev/usb2/hcd/ehci/intr.fth
==============================================================================
--- dev/usb2/hcd/ehci/intr.fth	Fri Jan 21 21:53:07 2011	(r2140)
+++ dev/usb2/hcd/ehci/intr.fth	Fri Jan 21 22:03:57 2011	(r2141)
@@ -64,21 +64,21 @@
 ;
 
 : intr-in?  ( -- actual usberr )
-   intr-in-qh 0=  if  0 USB_ERR_INV_OP exit  then
-   clear-usb-error
-   intr-in-qh qh-done?  if
-      intr-in-qh error?  if
-         0
-      else
-         intr-in-qh dup sync-qhqtds
-         intr-in-qtd  dup intr-in-qh >qh-#qtds l@ get-actual
-         over >qtd-buf rot >qtd-pbuf l@ 2 pick dma-sync
-      then
-      usb-error
-      intr-in-qh fixup-intr-in-data
-   else
-      0 usb-error
-   then
+   intr-in-qh 0=  if  0 USB_ERR_INV_OP exit  then  ( )
+   clear-usb-error                   ( )
+   intr-in-qh qh-done?  if           ( )
+      intr-in-qh error?  if          ( )
+         0                           ( actual )
+      else                           ( )
+         intr-in-qh sync-qhqtds      ( )
+         intr-in-qtd  intr-in-qh >qh-#qtds l@  get-actual  ( actual )
+         intr-in-qtd >qtd-buf  intr-in-qtd >qtd-pbuf l@  2 pick  dma-sync  ( actual )
+      then                           ( actual )
+      usb-error                      ( actual usberr )
+      intr-in-qh fixup-intr-in-data  ( actual usberr )
+   else                              ( )
+      0 usb-error                    ( actual usberr )
+   then                              ( actual usberr )
 ;
 
 headers



More information about the openfirmware mailing list