[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