From: Peter Chen <peter.chen@nxp.com>
To: Jonas Karlsson <jonas.karlsson@actia.se>
Cc: Mathias Nyman <mathias.nyman@linux.intel.com>,
Oliver Neukum <oneukum@suse.com>,
Greg KH <gregkh@linuxfoundation.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
Alan Stern <stern@rowland.harvard.edu>
Subject: Re: USB transaction errors causing RCU stalls and kernel panics
Date: Tue, 10 Mar 2020 08:14:49 +0000 [thread overview]
Message-ID: <20200310081452.GA14625@b29397-desktop> (raw)
In-Reply-To: <699a49f2f69e494ea6558b99fad23cc4@actia.se>
On 20-03-09 14:21:56, Jonas Karlsson wrote:
> >
> > If autosuspend is suspicious, Jonas, could you please try to disable autosuspend
> > for all USB devices (including the roothub and controller) to see what happens?
> >
> > Peter
>
> I have run some tests with autosuspend turned off by doing this:
> for i in $(find /sys -name control | grep usb);do echo on > $i;echo "echo on > $i";done;
>
> To make our modem misbehave we need to cool it down in a temp chamber which I haven't had
> access to the past days. However we have found two other ways to reproduce the event storm causing
> event ring full messages spamming the logs. The pattern in the attached file repeats itself until I
> unbind the driver.
Hi Jonas,
Do you have below commit at your local tree? If you have, I am puzzled
why you still get "Event Ring Full Error" error, maybe Mathias have the
answer?
commit dc0ffbea5729a3abafa577ebfce87f18b79e294b
Author: Peter Chen <peter.chen@nxp.com>
Date: Fri Nov 15 18:50:00 2019 +0200
usb: host: xhci: update event ring dequeue pointer on purpose
@Mathias, could xhci design some software retry limits for transaction
error? It may avoid retry storm due to hardware issue (eg, signal
issue). For EHCI, there is a design to define QH_XACTERR_MAX at
qh_completions for that.
Peter
>
> 1. If we power up the modem and wait until the modem is enumerated and then turn off the
> VUSB supply to modem which supplies the USB port on the modem we see a continuous flow
> of Unknown event type 37.
>
> Or
>
> 2. If we power up the modem and wait until the modem is enumerated and then pull the reset
> pin of the USB hub that sits between the modem and the SoC we also see a continuous flow of
> Unknown event type 37.
>
> According to the USB hub datasheet this happens when the reset pin is pulled:
> "The PHYs are disabled, and the differential pairs will be in a high-impedance state."
>
> Having autosuspend enabled or disabled does not seem to make a difference in this case.
>
> BR,
> Jonas
> [ 674.915892] cdc_acm 1-1.1:1.5: acm_read_bulk_callback - nonzero urb status received: -71
> [ 674.915902] xhci-cdns3: Ignoring reset ep completion code of 1
> [ 674.915912] xhci-cdns3: Successful Set TR Deq Ptr cmd, deq = @960d4570
> [ 674.915968] xhci-cdns3: Transfer error for slot 2 ep 10 on endpoint
> [ 674.915979] xhci-cdns3: Cleaning up stalled endpoint ring
> [ 674.915983] xhci-cdns3: Finding endpoint context
> [ 674.915988] xhci-cdns3: Cycle state = 0x1
> [ 674.915993] xhci-cdns3: New dequeue segment = 00000000641e49ab (virtual)
> [ 674.915998] xhci-cdns3: New dequeue pointer = 0x960d4580 (DMA)
> [ 674.916002] xhci-cdns3: Queueing new dequeue state
> [ 674.916009] xhci-cdns3: Set TR Deq Ptr cmd, new deq seg = 00000000641e49ab (0x960d4000 dma), new deq ptr = 00000000dae0365c (0x960d4580 dma), new cycle = 1
> [ 674.916014] xhci-cdns3: // Ding dong!
> [ 674.916020] xhci-cdns3: Giveback URB 0000000007a5ed65, len = 0, expected = 1024, status = -71
> [ 674.916028] cdc_acm 1-1.1:1.5: acm_read_bulk_callback - nonzero urb status received: -71
> [ 674.916035] xhci-cdns3: Ignoring reset ep completion code of 1
> [ 674.916044] xhci-cdns3: Successful Set TR Deq Ptr cmd, deq = @960d4580
> [ 674.916064] xhci-cdns3: Transfer error for slot 2 ep 10 on endpoint
> [ 674.916073] xhci-cdns3: Cleaning up stalled endpoint ring
> [ 674.916077] xhci-cdns3: Finding endpoint context
> [ 674.916081] xhci-cdns3: Cycle state = 0x1
> [ 674.916086] xhci-cdns3: New dequeue segment = 00000000641e49ab (virtual)
> [ 674.916091] xhci-cdns3: New dequeue pointer = 0x960d4590 (DMA)
> [ 674.916094] xhci-cdns3: Queueing new dequeue state
> [ 674.916102] xhci-cdns3: Set TR Deq Ptr cmd, new deq seg = 00000000641e49ab (0x960d4000 dma), new deq ptr = 00000000d9f5f1c1 (0x960d4590 dma), new cycle = 1
> [ 674.916106] xhci-cdns3: // Ding dong!
> [ 674.916113] xhci-cdns3: Giveback URB 000000008a0a9417, len = 0, expected = 1024, status = -71
> [ 674.916119] cdc_acm 1-1.1:1.5: acm_read_bulk_callback - nonzero urb status received: -71
> [ 674.916126] xhci-cdns3: Ignoring reset ep completion code of 1
> [ 674.916135] xhci-cdns3: Successful Set TR Deq Ptr cmd, deq = @960d4590
> [ 674.916149] xhci-cdns3: Transfer error for slot 2 ep 10 on endpoint
> [ 674.916157] xhci-cdns3: Cleaning up stalled endpoint ring
> [ 674.916161] xhci-cdns3: Finding endpoint context
> [ 674.916166] xhci-cdns3: Cycle state = 0x1
> [ 674.916170] xhci-cdns3: New dequeue segment = 00000000641e49ab (virtual)
> [ 674.916175] xhci-cdns3: New dequeue pointer = 0x960d45a0 (DMA)
> [ 674.916178] xhci-cdns3: Queueing new dequeue state
> [ 674.916186] xhci-cdns3: Set TR Deq Ptr cmd, new deq seg = 00000000641e49ab (0x960d4000 dma), new deq ptr = 0000000094b88dce (0x960d45a0 dma), new cycle = 1
> [ 674.916190] xhci-cdns3: // Ding dong!
> [ 674.916197] xhci-cdns3: Giveback URB 000000003dad7325, len = 0, expected = 1024, status = -71
> [ 674.916204] cdc_acm 1-1.1:1.5: acm_read_bulk_callback - nonzero urb status received: -71
> [ 674.916211] xhci-cdns3: Ignoring reset ep completion code of 1
> [ 674.916219] xhci-cdns3: Successful Set TR Deq Ptr cmd, deq = @960d45a0
> [ 674.916251] xhci-cdns3: Transfer error for slot 2 ep 10 on endpoint
> [ 674.916261] xhci-cdns3: Cleaning up stalled endpoint ring
> [ 674.916265] xhci-cdns3: Finding endpoint context
> [ 674.916270] xhci-cdns3: Cycle state = 0x1
> [ 674.916274] xhci-cdns3: New dequeue segment = 00000000641e49ab (virtual)
> [ 674.916279] xhci-cdns3: New dequeue pointer = 0x960d45b0 (DMA)
> [ 674.916282] xhci-cdns3: Queueing new dequeue state
> [ 674.916290] xhci-cdns3: Set TR Deq Ptr cmd, new deq seg = 00000000641e49ab (0x960d4000 dma), new deq ptr = 0000000000ad0b83 (0x960d45b0 dma), new cycle = 1
> [ 674.916294] xhci-cdns3: // Ding dong!
> [ 674.916301] xhci-cdns3: Giveback URB 0000000077103065, len = 0, expected = 1024, status = -71
--
Thanks,
Peter Chen
next prev parent reply other threads:[~2020-03-10 8:14 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-03 15:05 USB transaction errors causing RCU stalls and kernel panics Jonas Karlsson
2020-03-03 16:39 ` Greg KH
2020-03-03 20:08 ` Jonas Karlsson
2020-03-04 6:37 ` Greg KH
2020-03-04 10:29 ` Oliver Neukum
2020-03-04 12:11 ` Mathias Nyman
2020-03-04 14:12 ` Oliver Neukum
2020-03-04 16:21 ` Mathias Nyman
2020-03-06 1:31 ` Peter Chen
2020-03-09 14:21 ` Jonas Karlsson
2020-03-10 8:14 ` Peter Chen [this message]
2020-03-10 10:04 ` Jonas Karlsson
2020-03-10 11:04 ` Oliver Neukum
2020-03-10 11:21 ` Oliver Neukum
2020-03-10 12:26 ` Jonas Karlsson
2020-03-10 16:04 ` Jonas Karlsson
2020-03-10 16:11 ` Fabio Estevam
2020-03-11 6:25 ` Jonas Karlsson
2020-03-11 10:28 ` Oliver Neukum
2020-03-11 14:59 ` Jonas Karlsson
2020-03-12 13:45 ` Oliver Neukum
2020-03-12 15:37 ` Jonas Karlsson
2020-03-13 9:27 ` Oliver Neukum
2020-03-16 7:07 ` Jonas Karlsson
2020-03-23 11:37 ` Jonas Karlsson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200310081452.GA14625@b29397-desktop \
--to=peter.chen@nxp.com \
--cc=gregkh@linuxfoundation.org \
--cc=jonas.karlsson@actia.se \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=oneukum@suse.com \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).