Commit ba3a80fe authored by Peter Chen's avatar Peter Chen Committed by Felipe Balbi

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.

Cc: <stable@vger.kernel.org>
Fixes: 7733f6c3 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Reviewed-by: default avatarPawel Laszczak <pawell@cadence.com>
Signed-off-by: default avatarPeter Chen <peter.chen@nxp.com>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
parent b51e1cf6
...@@ -156,7 +156,7 @@ DECLARE_EVENT_CLASS(cdns3_log_ep0_irq, ...@@ -156,7 +156,7 @@ DECLARE_EVENT_CLASS(cdns3_log_ep0_irq,
__dynamic_array(char, str, CDNS3_MSG_MAX) __dynamic_array(char, str, CDNS3_MSG_MAX)
), ),
TP_fast_assign( TP_fast_assign(
__entry->ep_dir = priv_dev->ep0_data_dir; __entry->ep_dir = priv_dev->selected_ep;
__entry->ep_sts = ep_sts; __entry->ep_sts = ep_sts;
), ),
TP_printk("%s", cdns3_decode_ep0_irq(__get_str(str), TP_printk("%s", cdns3_decode_ep0_irq(__get_str(str),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment