u-boot-brain/drivers/usb/host
Sergei Shtylyov 9fb3b50857 EHCI: zero out QH transfer overlay in ehci_submit_async()
ehci_submit_async() doesn't really zero out the QH transfer overlay (as the EHCI
specification suggests) which leads to the controller seeing the "token" field
as the previous call has left it, i.e.:
- if a timeout occured on the previous call (Active bit left as 1), controller
  incorrectly tries to complete a previous transaction on a newly programmed
  endpoint;
- if a halt occured on the previous call (Halted bit set to 1), controller just
  ignores the newly programmed TD(s) and the function then keeps returning error
  ad infinitum.

This turned out to be caused by the wrong orger of the arguments to the memset()
call in ehci_alloc(), so the allocated TDs weren't cleared either.

While at it, stop needlessly initializing the alternate next TD pointer in the
QH transfer overlay...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Acked-by: Remy Bohmer <linux@bohmer.net>
2010-06-29 23:03:40 +02:00
..
ehci-core.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
ehci-fsl.c mpc8xxx: USB: fix: access of ehci struct elements 2009-07-09 21:33:15 +02:00
ehci-hcd.c EHCI: zero out QH transfer overlay in ehci_submit_async() 2010-06-29 23:03:40 +02:00
ehci-ixp4xx.c drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
ehci-kirkwood.c Coding Style cleanup; update CHANGELOG. 2009-07-23 22:23:23 +02:00
ehci-pci.c EHCI: add NEC PCI ID 2010-04-08 21:40:00 +02:00
ehci-ppc4xx.c Add ppc440epx USB ehci support. 2010-01-09 10:27:15 +01:00
ehci-vct.c drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
ehci.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
isp116x-hcd.c mips: Move cpu/mips/* to arch/mips/cpu/* 2010-04-13 09:13:25 +02:00
isp116x.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
Makefile Add ppc440epx USB ehci support. 2010-01-09 10:27:15 +01:00
ohci-at91.c at91: use C structs for AT91 OHCI code 2010-04-03 15:24:27 -05:00
ohci-hcd.c Add a unified s3c24x0 header file 2009-11-27 16:26:13 -06:00
ohci.h Replace __attribute references with __attribute__ 2009-04-28 01:01:39 +02:00
r8a66597-hcd.c drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
r8a66597.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
s3c64xx-hcd.c s3c64xx: move s3c64xx header files to asm-arm/arch-s3c64xx 2009-11-27 16:26:13 -06:00
sl811-hcd.c drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
sl811.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00