patch "xhci: fix wrong endpoint ESIT value shown in tracing" added to usb-linus
Subsystems (3)
This is a note to let you know that I've just added the patch titled
xhci: fix wrong endpoint ESIT value shown in tracing
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
Quoted 1 line
From
76a14d7bf92960aac2f5450bfd23783bfa618be9Mon Sep 17 00:00:00 2001
From: Mathias Nyman <[email protected]>
Date: Mon, 18 Sep 2017 17:39:15 +0300
Subject: xhci: fix wrong endpoint ESIT value shown in tracing
Read the endpiont ESIT from endpiont context using correct macro. Add a macro for reading the high bits of ESIT for Large ESIT Payload Capable hosts (LEC=1)
--- drivers/usb/host/xhci.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/usb/host/xhci.h +4 -2
@@ -735,6 +735,8 @@ struct xhci_ep_ctx {#define EP_MAXPSTREAMS (p) (((p) << 10) & EP_MAXPSTREAMS_MASK)/* Endpoint is set up with a Linear Stream Array (vs. Secondary Stream Array) */ #define EP_HAS_LSA (1 << 15) +/* hosts with LEC=1 use bits 31:24 as ESIT high bits. */ +#define CTX_TO_MAX_ESIT_PAYLOAD_HI (p) (((p) >> 24) & 0xff)/* ep_info2 bitmasks */ /*
@@ -2540,8 +2542,8 @@ static inline const char *xhci_decode_ep_context(u32 info, u32 info2, u64 deq,u8 lsa;u8 hid; - esit =EP_MAX_ESIT_PAYLOAD_HI (info) <<16 | -EP_MAX_ESIT_PAYLOAD_LO (tx_info); + esit =CTX_TO_MAX_ESIT_PAYLOAD_HI (info) <<16 | +CTX_TO_MAX_ESIT_PAYLOAD (tx_info); ep_state = info &EP_STATE_MASK ; max_pstr = info &EP_MAXPSTREAMS_MASK ;
Signature · 1 line
2.14.1