tree d8a143aa75c6fa6277c7fc21c65b4d76c07da8c8
parent 32445605fc2ff967326c14156f199e620ed81c10
parent 1c12443ab8eba71a658fae4572147e56d1f84f66
author Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1336077655 -0700
committer Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1336077655 -0700
mergetag object 1c12443ab8eba71a658fae4572147e56d1f84f66
 type commit
 tag for-usb-next-2012-05-03
 tagger Sarah Sharp <sarah.a.sharp@linux.intel.com> 1336076760 -0700
 
 xhci: isoc, Intel xHCI, and suspend races.
 
 Hi Greg,
 
 Here's some xHCI fixes that should be queued for 3.5.
 
 The first patch builds on Alan Stern's 3.4 patch to close the suspend and port
 event race conditions.  It's marked for 3.4 stable, since that's where Alan's
 patch landed.  The second patch fixes an incorrect error code that the xHCI
 driver would return when an isochronous transfer error occurred.
 
 The third and fourth patches fix issues seen on Intel xHCI host controllers.
 The third patch fixes a dead port issue that was seen on the Panther Point
 EHCI/xHCI host when CONFIG_USB_XHCI_HCD was turned off.  The ports were being
 switched over to xHCI, even though the xHCI driver was never even built.  The
 fourth patch adds support for the EHCI to xHCI port switchover for the upcoming
 Intel Lynx Point chipset.
 
 As I said, there's nothing here that's terribly urgent, and these patches can
 wait a couple weeks for the 3.5 merge window.
 
 Thanks,
 Sarah Sharp
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPounlAAoJEBMGWMLi1Gc55twQAJm/cOCW4NI3aLfW44nsc3UM
 WFSXpu8MgaNXqQJrdaFjLAlrSWob2t2uAlI+Rr178ltpu7tOFUCBgmYp8P2eQwEF
 K6wM/464SaQYIPQjxAekTRWwxAKM9eSI6CahFHn+M6nAQY8TJkUqDuE4I/EAIHgQ
 R71OYPLvEP2w5vMi+ObkGdy6PFcIbSpDQM+trgCj3MUuaX1m0kWQjIIvgCByvdxU
 twhxOL/P6WheYCyttbr0H/PsX57jRkpV4Sjr0UJ6TdDI6aB7ZWa977+IWyf3TmUc
 mvtMBU2Kv4jts8Bkzzulz0uCKbFYQ30MihXua8nwXP/sph6dnIhwr+dYhb/HPp3a
 DrEzBiqcH1ASgBX/kvZ52UjTf4aP0vuK6nS/VsQYH7a23pO4Qd3aX41lJy/bFnt+
 u/GHeFlEQ3BmxNwMMSGHQibqAK194zvGSDs2XyPnK6PQqBiMnm77DAhzOqPP1L2f
 Z3do/dOeNRTeGknJXrgc8Eq/C4HVQ+S5MsTv3GZp/PlSTe+aGAgontH9Rj11bvs3
 FJng2S/zee/IBhuWkK9wdqud5gqZbBFw7MU3cfrGH5KzdOPsRJ6+XFfuCqLzo110
 inLhytN+urvvuZspr/gCCeW+PLDaYbYK/pw1ge0UUxWrRy0IE2spjW/Q3cdq5vL1
 brPKwwF7PsPZ6IiTY5RR
 =WrEx
 -----END PGP SIGNATURE-----

Merge tag 'for-usb-next-2012-05-03' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-next

xhci: isoc, Intel xHCI, and suspend races.

Hi Greg,

Here's some xHCI fixes that should be queued for 3.5.

The first patch builds on Alan Stern's 3.4 patch to close the suspend and port
event race conditions.  It's marked for 3.4 stable, since that's where Alan's
patch landed.  The second patch fixes an incorrect error code that the xHCI
driver would return when an isochronous transfer error occurred.

The third and fourth patches fix issues seen on Intel xHCI host controllers.
The third patch fixes a dead port issue that was seen on the Panther Point
EHCI/xHCI host when CONFIG_USB_XHCI_HCD was turned off.  The ports were being
switched over to xHCI, even though the xHCI driver was never even built.  The
fourth patch adds support for the EHCI to xHCI port switchover for the upcoming
Intel Lynx Point chipset.

As I said, there's nothing here that's terribly urgent, and these patches can
wait a couple weeks for the 3.5 merge window.

Thanks,
Sarah Sharp
