tree 40f3a11f028175f61cce14088a0f93ebd68c4b60
parent 69e848c2090aebba5698a1620604c7dccb448684
author Sarah Sharp <sarah.a.sharp@linux.intel.com> 1306345436 -0700
committer Sarah Sharp <sarah.a.sharp@linux.intel.com> 1306523293 -0700

Intel xhci: Ignore spurious successful event.

The xHCI host controller in the Panther Point chipset sometimes produces
spurious events on the event ring.  If it receives a short packet, it
first puts a Transfer Event with a short transfer completion code on the
event ring.  Then it puts a Transfer Event with a successful completion
code on the ring for the same TD.  The xHCI driver correctly processes the
short transfer completion code, gives the URB back to the driver, and then
prints a warning in dmesg about the spurious event.  These warning
messages really fill up dmesg when an HD webcam is plugged into xHCI.

This spurious successful event behavior isn't technically disallowed by
the xHCI specification, so make the xHCI driver just ignore the spurious
completion event.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
