summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2014-02-23 13:36:21 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2014-02-23 13:36:21 +0000
commitfe7d1c0916c2c443469a5c06bd5dd69f8575b49c (patch)
treec9af54363b3db173b0952484c8d63b8ce62fa99d
parentc50d95983655ee7e37b90080e56b339242a8df75 (diff)
Notes
-rw-r--r--sys/dev/usb/controller/xhci.c3
-rw-r--r--sys/dev/usb/controller/xhci.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c
index c7e4ab977157..f8eb6cf0527b 100644
--- a/sys/dev/usb/controller/xhci.c
+++ b/sys/dev/usb/controller/xhci.c
@@ -1759,7 +1759,8 @@ restart:
/* check wLength */
if (td->td_trb[0].qwTrb0 &
htole64(XHCI_TRB_0_WLENGTH_MASK)) {
- if (td->td_trb[0].qwTrb0 & htole64(1))
+ if (td->td_trb[0].qwTrb0 &
+ htole64(XHCI_TRB_0_DIR_IN_MASK))
dword |= XHCI_TRB_3_TRT_IN;
else
dword |= XHCI_TRB_3_TRT_OUT;
diff --git a/sys/dev/usb/controller/xhci.h b/sys/dev/usb/controller/xhci.h
index 10045a720168..c63632b0b44b 100644
--- a/sys/dev/usb/controller/xhci.h
+++ b/sys/dev/usb/controller/xhci.h
@@ -192,6 +192,7 @@ struct xhci_stream_ctx {
struct xhci_trb {
volatile uint64_t qwTrb0;
+#define XHCI_TRB_0_DIR_IN_MASK (0x80ULL << 0)
#define XHCI_TRB_0_WLENGTH_MASK (0xFFFFULL << 48)
volatile uint32_t dwTrb2;
#define XHCI_TRB_2_ERROR_GET(x) (((x) >> 24) & 0xFF)