USB: xhci: Limit bus sg_tablesize to 62 TRBs.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 18 May 2010 23:05:21 +0000 (16:05 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 20 May 2010 20:21:30 +0000 (13:21 -0700)
commitbc88d2eba5e19d10dd546e428314909d889b3b6a
tree354465451aeaf0d1fd06ec82a44a13509334afa0
parent1624ae1c19e227096ba85bfc389d9b99cb6f7dde
USB: xhci: Limit bus sg_tablesize to 62 TRBs.

When a scatter-gather list is enqueued to the xHCI driver, it translates
each entry into a transfer request block (TRB).  Only 63 TRBs can be
used per ring segment, and there must be one additional TRB reserved to
make sure the hardware does not think the ring is empty (so the enqueue
pointer doesn't equal the dequeue pointer).  Limit the bus sg_tablesize
to 62 TRBs.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/xhci-pci.c