MFC r260388, r260535 and r260536:
Fix XHCI interrupt logic for "Intel Lynx Point" found in MBP2013.
MFC r260559:
Don't do synchronous USB requests inside USB transfer callbacks. It is
technically OK, but not recommended.
MFC r260563:
Make sure reserved fields of the EHCI DMA descriptors are not dirty
after previous transfers.
MFC r260588 and r260589:
- Separate I/O errors from reception of STALL PID.
- Implement better error recovery for Transaction Translators, TTs,
found in High Speed USB HUBs which translate from High Speed USB into
FULL or LOW speed USB. In some rare cases SPLIT transactions might get
lost, which might leave the TT in an unknown state. Whenever we detect
such an error try to issue either a clear TT buffer request, or if
that is not possible reset the whole TT.
MFC r260808 and r260814:
- Close a minor deadlock.
- Fix a possible memory use after free and leak situation associated
with USB device detach when using character device handles. This also
includes LibUSB. It turns out that "usb_close()" cannot always get a
reference to clean up its USB transfers and such, if called during the
kernel USB device detach.
MFC r258545:
Comply to the XHCI specification. Certain input context fields should
always be zero.
MFC r260534:
Move USB ID from u3g driver to uhso driver.
[automated] Merge in upstream-github/stable/9