svn commit: r271953 - head/sys/dev/usb/controller
Hans Petter Selasky
hselasky at FreeBSD.org
Mon Sep 22 10:21:43 UTC 2014
Author: hselasky
Date: Mon Sep 22 10:21:42 2014
New Revision: 271953
URL: http://svnweb.freebsd.org/changeset/base/271953
Log:
Some XHCI hardware requires dropping the endpoint context before
adding it again.
MFC after: 3 days
Submitted by: Kohji Okuno <okuno.kohji at jp.panasonic.com>
Modified:
head/sys/dev/usb/controller/xhci.c
Modified: head/sys/dev/usb/controller/xhci.c
==============================================================================
--- head/sys/dev/usb/controller/xhci.c Mon Sep 22 10:21:08 2014 (r271952)
+++ head/sys/dev/usb/controller/xhci.c Mon Sep 22 10:21:42 2014 (r271953)
@@ -2248,7 +2248,14 @@ xhci_configure_mask(struct usb_device *u
xhci_ctx_set_le32(sc, &pinp->ctx_input.dwInCtx0, mask);
xhci_ctx_set_le32(sc, &pinp->ctx_input.dwInCtx1, 0);
} else {
- xhci_ctx_set_le32(sc, &pinp->ctx_input.dwInCtx0, 0);
+ /*
+ * Some hardware requires that we drop the endpoint
+ * context before adding it again:
+ */
+ xhci_ctx_set_le32(sc, &pinp->ctx_input.dwInCtx0,
+ mask & XHCI_INCTX_NON_CTRL_MASK);
+
+ /* Add new endpoint context */
xhci_ctx_set_le32(sc, &pinp->ctx_input.dwInCtx1, mask);
/* find most significant set bit */
More information about the svn-src-all
mailing list