On Thu, Jan 30, 2014 at 10:50:21PM +0100, Bjørn Mork wrote: > FWIW, the plan looks fine to me. Just adding a couple of hints to > simplify the implementation. > > Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> writes: > > > Let's do this fix the right way, instead of wall papering over the > > issue. Here's what we should do: > > > > 1. Disable scatter-gather for the ax88179_178a driver when it's under an > > xHCI host. > > No need to make this conditional. SG is only enabled in the > ax88179_178a driver if udev->bus->no_sg_constraint is true, so it > applies only to xHCI hosts in the first place. Ah, so you're suggesting just reverting commit 3804fad45411b48233b48003e33a78f290d227c8 "USBNET: ax88179_178a: enable tso if usb host supports sg dma"? > > 2. Revert the following commits: > > f2d9b991c549 xhci: Set scatter-gather limit to avoid failed block writes. > > d6c9ea9069af xhci: Avoid infinite loop when sg urb requires too many trbs > > 35773dac5f86 usb: xhci: Link TRB must not occur within a USB payload burst > > > > 3. Dan and Mathias can work together to come up with an overall plan to > > change the xHCI driver architecture to be fully compliant with the TD > > fragment rules. That can be done over the next few kernel releases. > > > > The end result is that we don't destabilize storage or break userspace > > USB drivers, we don't break people's xHCI host controllers, > > the ax88179_178a USB ethernet devices still work under xHCI (a bit with > > worse performance), and other USB ethernet devices still get the > > performance improvement introduced in 3.12. > > No other usbnet drivers has enabled SG... Which is why you have only > seen this problem with the ax88179_178a devices. So there is no > performance improvement to keep. I see. Sarah Sharp -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html