summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-01-24 08:15:21 +0000
committerhselasky <hselasky@FreeBSD.org>2014-01-24 08:15:21 +0000
commit6c824eefbf159c311111716b85c64e42d5fd5940 (patch)
treeda619f360525e42a3329afe52d16e69e0e8e8929
parent6e5156d6bb6755f251e480703c56db26ea69c02a (diff)
downloadFreeBSD-src-6c824eefbf159c311111716b85c64e42d5fd5940.zip
FreeBSD-src-6c824eefbf159c311111716b85c64e42d5fd5940.tar.gz
MFC r258545:
Comply to the XHCI specification. Certain input context fields should always be zero.
-rw-r--r--sys/dev/usb/controller/xhci.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c
index 5bcf509..c7e4ab9 100644
--- a/sys/dev/usb/controller/xhci.c
+++ b/sys/dev/usb/controller/xhci.c
@@ -2614,7 +2614,11 @@ xhci_configure_device(struct usb_device *udev)
xhci_ctx_set_le32(sc, &pinp->ctx_slot.dwSctx2, temp);
- temp = XHCI_SCTX_3_DEV_ADDR_SET(udev->address) |
+ /*
+ * These fields should be initialized to zero, according to
+ * XHCI section 6.2.2 - slot context:
+ */
+ temp = XHCI_SCTX_3_DEV_ADDR_SET(0) |
XHCI_SCTX_3_SLOT_STATE_SET(0);
xhci_ctx_set_le32(sc, &pinp->ctx_slot.dwSctx3, temp);
OpenPOWER on IntegriCloud