Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

usb: cdns3: trace: using correct dir value

It should use the correct direction value from register, not depends
on previous software setting. It fixed the EP number wrong issue at
trace when the TRBERR interrupt occurs for EP0IN.

When the EP0IN IOC has finished, software prepares the setup packet
request, the expected direction is OUT, but at that time, the TRBERR
for EP0IN may occur since it is DMULT mode, the DMA does not stop
until TRBERR has met.

Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Cc: <stable@vger.kernel.org>
Reviewed-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Link: https://lore.kernel.org/r/20200623030918.8409-3-peter.chen@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Peter Chen and committed by
Greg Kroah-Hartman
813072b6 c0e2a034

+1 -1
+1 -1
drivers/usb/cdns3/trace.h
··· 156 156 __dynamic_array(char, str, CDNS3_MSG_MAX) 157 157 ), 158 158 TP_fast_assign( 159 - __entry->ep_dir = priv_dev->ep0_data_dir; 159 + __entry->ep_dir = priv_dev->selected_ep; 160 160 __entry->ep_sts = ep_sts; 161 161 ), 162 162 TP_printk("%s", cdns3_decode_ep0_irq(__get_str(str),