Hi, This patchset allows drivers to pass sg buffers which size can't be divided by max packet size of endpoint if the host controllers support this kind of sg buffers. Previously we add check[1] on the situation and don't allow these sg buffers passed to USB HCD, looks the check is too strict because some applications(such as network stack) can't provide this sg buffers which size can be divided by max packet size, so this patch looses the check in case that the host controllers support it. Also patch 3/4 implements DMA SG on usbnet driver, and patch 4/4 enables it on ax88179_178a USB3 NIC, so CPU utilization can be decreased much with usbnet DMA SG when the USB3 NIC is attached to xHCI controller. [1], http://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git/commit/?h=usb-next&id=10e232c597ac757e7f8600649f7e872e86de190f drivers/net/usb/ax88179_178a.c | 30 +++++++++++++++++++++++++ drivers/net/usb/usbnet.c | 48 ++++++++++++++++++++++++++++++++++++++-- drivers/usb/core/urb.c | 3 ++- drivers/usb/host/xhci.c | 4 ++++ include/linux/usb.h | 3 ++- include/linux/usb/usbnet.h | 4 ++++ 6 files changed, 88 insertions(+), 4 deletions(-) Thanks, -- Ming Lei -- 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