The following changes since commit 03b56329f9bb5a1cb73d7dc659d529a9a9bf3acc: Modpost: fixed USB alias generation for ranges including 0x9 and 0xA (2014-02-07 11:26:35 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci.git tags/for-usb-linus-2014-02-11 for you to fetch changes up to 3d4b81eda2211f32886e2978daf6f39885042fc4: Revert "usb: xhci: Link TRB must not occur within a USB payload burst" (2014-02-07 14:30:03 -0800) ---------------------------------------------------------------- xhci: Revert TD fragment hacks. Hi Greg, Recently, we found that commit "35773dac5f86 "usb: xhci: Link TRB must not occur within a USB payload burst" causes a userspace regression. It will cause larger transfers submitted through usbfs that would have succeeded on older kernels to be rejected. Commit 35773dac5f86 was designed to address an issue where an ASIX USB ethernet device would get wedged when it was connected to a 1.0 xHCI host. Only this particular ethernet device was impacted, because only the ax88179_178a driver implemented scatter-gather in 3.12. The xHCI driver doesn't currently support TD fragment rules, and commit 35773dac5f86 was a quick hack that partially implemented one of the rules. This is the third regression this patch has caused. There's yet another quick hack to work around the issue, but I really want to support TD fragments properly, rather than hacking around it. It will take us a kernel release or two to get it implemented, since it is a big architectural change. This patchset backs out commit 35773dac5f86, and the two bug fix patches for it. The first patch limits arbitrarily aligned scatter-gather under xHCI 1.0 hosts. As a result of this patchset: 1. usb-storage and uas will still be able to use scatter-gather, since they submit max packet sized aligned transfers. 2. usbfs will behave exactly as before, no more userspace regressions. 3. The ax88179_178a driver works fine without scatter-gather (Mark Lord confirms this). Users of the ASIX chipset may still see occasional packet loss on 1.0 xHCI hosts, if the xHCI driver needs to split a TRB across 64-KB boundaries, and a link TRB happens to fall between those two TRBs. I expect this corner case to be infrequent. Sarah Sharp ---------------------------------------------------------------- Sarah Sharp (4): xhci 1.0: Limit arbitrarily-aligned scatter gather. Revert "xhci: Set scatter-gather limit to avoid failed block writes." Revert "xhci: Avoid infinite loop when sg urb requires too many trbs" Revert "usb: xhci: Link TRB must not occur within a USB payload burst" drivers/usb/host/xhci-ring.c | 54 +---------------------------------------- drivers/usb/host/xhci.c | 18 ++++++++++---- drivers/usb/host/xhci.h | 2 +- include/linux/usb.h | 2 - 4 files changed, 16 insertions(+), 60 deletions(-) -- 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