From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
To: walt <w41ter@gmail.com>
Cc: Alan Stern <stern@rowland.harvard.edu>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
David Laight <david.laight@aculab.com>,
Mark Lord <mlord@pobox.com>,
linux-usb@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst
Date: Fri, 3 Jan 2014 11:54:55 -0800 [thread overview]
Message-ID: <20140103195455.GA4193@xanatos> (raw)
In-Reply-To: <52C6D9F1.9000709@gmail.com>
On Fri, Jan 03, 2014 at 07:40:33AM -0800, walt wrote:
> On 01/02/2014 11:15 AM, Sarah Sharp wrote:
> > On Tue, Dec 31, 2013 at 12:40:16PM -0800, walt wrote:
> >> On 12/18/2013 01:11 PM, Greg Kroah-Hartman wrote:
> >>> 3.12-stable review patch. If anyone has any objections, please let me know.
> >>>
> >>> ------------------
> >>>
> >>> From: David Laight <David.Laight@ACULAB.COM>
> >>>
> >>> commit 35773dac5f862cb1c82ea151eba3e2f6de51ec3e upstream.
> >>>
> >>> Section 4.11.7.1 of rev 1.0 of the xhci specification states that a link TRB
> >>> can only occur at a boundary between underlying USB frames (512 bytes for
> >>> high speed devices).
> >>>
> >>> If this isn't done the USB frames aren't formatted correctly and, for example,
> >>> the USB3 ethernet ax88179_178a card will stop sending...
> >>
> >>
> >> Unfortunately this patch causes a regression when copying large files to my
> >> outboard USB3 drive. (Nothing at all to do with networking.)
>
> > Do you have CONFIG_USB_DEBUG turned on for 3.13? If so, you should see
> > dmesg output from this statement shortly before your drive fails:
> >
> > if (num_trbs >= TRBS_PER_SEGMENT) {
> > xhci_err(xhci, "Too many fragments %d, max %d\n",
> > num_trbs, TRBS_PER_SEGMENT - 1);
> > return -ENOMEM;
> > }
>
> Well, the answers depend on whether the usb3 drive uses logical volumes or not
> (lvm2), which I can't explain. What I've described so far is with lvm2.
>
> When using lvm2 on the usb3 drive, turning on USB_DEBUG has *no* effect -- the
> console prints two or three lines stating that the ext4 journal has quit and
> the drive is remounted ro. That particular drive stays wedged until the next
> reboot, but no other ill effects to the system.
Odd. In 3.12 xHCI has dynamic debugging, and turning on CONFIG_USB_DEBUG
should turn on debugging by default, so it's confusing that you didn't
see any messages.
Can I see your .config from /boot/? Also, did you try capturing dmesg
with `tail -f /var/log/kern.log` or just dmesg? Perhaps you need to run
`sudo dmesg -n 7`?
> OTOH, when I put a disk with just an ordinary ext4 partition in the usb3 dock,
> (no logical volumes) the copy failure becomes catastrophic, with kernel panic
> messages, leaving the system unresponsive and needing a hard reset to recover.
>
> I also tried your other suggestion:
>
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index 4265b48..1a6a43d 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -4714,7 +4714,7 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
> int retval;
>
> /* Accept arbitrarily long scatter-gather lists */
> - hcd->self.sg_tablesize = ~0;
> + hcd->self.sg_tablesize = 31;
>
> /* support to build packet from discontinuous buffers */
> hcd->self.no_sg_constraint = 1;
>
> Sadly it didn't fix the problem. Did I get the patch right?
Yes, you did. So perhaps the patch triggers a different bug. I can't
tell until I see xHCI debugging output.
> Thanks for your help, and I'm happy to try more ideas, as always.
Thanks for your patience. :)
Sarah Sharp
next prev parent reply other threads:[~2014-01-03 19:54 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20131218211219.461663463@linuxfoundation.org>
[not found] ` <20131218211220.412278148@linuxfoundation.org>
[not found] ` <52C32BB0.90600@gmail.com>
2014-01-02 19:15 ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst Sarah Sharp
2014-01-02 21:01 ` Mark Lord
[not found] ` <52C5D3A9.60708-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2014-01-02 21:19 ` James Bottomley
2014-01-02 21:33 ` Sarah Sharp
2014-01-03 15:40 ` walt
2014-01-03 19:54 ` Sarah Sharp [this message]
2014-01-03 21:21 ` walt
2014-01-03 23:29 ` Sarah Sharp
2014-01-07 0:31 ` Sarah Sharp
2014-01-07 13:29 ` walt
2014-01-07 13:51 ` David Laight
2014-01-07 13:58 ` David Laight
2014-01-07 19:15 ` walt
2014-01-07 20:00 ` walt
2014-01-07 23:31 ` Sarah Sharp
[not found] ` <063D6719AE5E284EB5DD2968C1650D6D453E1A-VkEWCZq2GCInGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2014-01-07 21:27 ` Sarah Sharp
[not found] ` <52CC014C.5060604-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-07 21:21 ` Sarah Sharp
2014-01-08 0:47 ` Sarah Sharp
2014-01-08 1:35 ` walt
2014-01-08 16:09 ` David Laight
[not found] ` <52CCA94D.5090700@gmail.com>
2014-01-09 23:50 ` Sarah Sharp
2014-01-10 14:40 ` walt
2014-01-10 14:58 ` David Laight
2014-01-10 15:12 ` Alan Stern
2014-01-13 23:39 ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst [NEW HARDWARE] walt
2014-01-14 9:43 ` David Laight
[not found] ` <52D4791B.3030309-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-14 17:20 ` Sarah Sharp
2014-01-14 21:27 ` walt
2014-01-16 20:46 ` Sarah Sharp
2014-01-17 14:34 ` David Laight
[not found] ` <063D6719AE5E284EB5DD2968C1650D6D45EDA3-VkEWCZq2GCInGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2014-01-18 18:34 ` walt
2014-01-18 20:23 ` walt
2014-01-20 10:40 ` David Laight
2014-01-20 11:21 ` David Laight
2014-01-20 18:14 ` Sarah Sharp
2014-01-21 9:51 ` David Laight
2014-01-21 22:07 ` walt
2014-01-22 9:17 ` David Laight
2014-01-08 16:39 ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst Alan Stern
[not found] ` <Pine.LNX.4.44L0.1401081130410.1659-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2014-01-08 16:51 ` David Laight
[not found] ` <063D6719AE5E284EB5DD2968C1650D6D455602-VkEWCZq2GCInGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2014-01-08 17:14 ` Alan Stern
2014-01-08 17:24 ` David Laight
2014-01-09 1:22 ` walt
2014-01-09 10:05 ` David Laight
[not found] ` <063D6719AE5E284EB5DD2968C1650D6D455F92-VkEWCZq2GCInGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2014-01-09 15:10 ` walt
2014-01-04 14:03 ` Mark Lord
2014-01-06 10:35 ` David Laight
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=20140103195455.GA4193@xanatos \
--to=sarah.a.sharp@linux.intel.com \
--cc=david.laight@aculab.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mlord@pobox.com \
--cc=stable@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=w41ter@gmail.com \
/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).