USB: EHCI: AMD periodic frame list table quirk
authorAndiry Xu <andiry.xu@amd.com>
Mon, 8 Nov 2010 09:58:35 +0000 (17:58 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 16 Nov 2010 21:36:40 +0000 (13:36 -0800)
commit3d091a6f703906c5680855ff29bd94d051c8c6d8
tree199509dfec473bd44e312862faf441b70eae952c
parent3d965875144b905d71dfb4d291c665c0794222c4
USB: EHCI: AMD periodic frame list table quirk

On AMD SB700/SB800/Hudson-2/3 platforms, USB EHCI controller may read/write
to memory space not allocated to USB controller if there is longer than
normal latency on DMA read encountered. In this condition the exposure will
be encountered only if the driver has following format of Periodic Frame
List link pointer structure:

For any idle periodic schedule, the Frame List link pointers that have the
T-bit set to 1 intending to terminate the use of frame list link pointer
as a physical memory pointer.

Idle periodic schedule Frame List Link pointer shoule be in the following
format to avoid the issue:

Frame list link pointer should be always contains a valid pointer to a
inactive QHead with T-bit set to 0.

Signed-off-by: Andiry Xu <andiry.xu@amd.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-mem.c
drivers/usb/host/ehci-pci.c
drivers/usb/host/ehci-sched.c
drivers/usb/host/ehci.h