From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751362AbbG0Gzk (ORCPT ); Mon, 27 Jul 2015 02:55:40 -0400 Received: from bear.ext.ti.com ([192.94.94.41]:34174 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750789AbbG0Gzi (ORCPT ); Mon, 27 Jul 2015 02:55:38 -0400 From: Kishon Vijay Abraham I To: , , , CC: , , Subject: [PATCH v3 0/6] usb: dwc3: handle non maxpacket aligned transfers > 512 Date: Mon, 27 Jul 2015 12:25:26 +0530 Message-ID: <1437980132-20232-1-git-send-email-kishon@ti.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Patch series first fixes memory corruption and then adds support to handle non maxpacket aligned transfers. Patch series adds support to handle non maxpacket aligned transfers greater than bounce buffer size (512). It first adds chained TRB support and then uses it to handle non maxpacket aligned transfers greater than bounce buffer size. Also included a cleanup patch to use 'roundup' macro. Changes from v2: *) fixed the "stable" mail address *) Used "bool" for the argument instead of unsigned. Changes from v1: *) Included the patch to fix memory corruption in this series. (Also marked it for stable release). Non maxpacket aligned transfers can be initiated by "./testusb -t 14 -c 1 -s 520 -v 1" Before this series: (Causes memory corruption) unknown speed /dev/bus/usb/010/009 0 /dev/bus/usb/010/009 test 14, 0.219638 secs After the 1st patch of this series: unknown speed /dev/bus/usb/001/018 0 /dev/bus/usb/001/018 test 14 --> 110 (Connection timed out) After this series: (No memory corruption) unknown speed /dev/bus/usb/001/023 0 /dev/bus/usb/001/023 test 14, 0.000486 secs Tested this patch using USB3 Gen X CV (ch9 tests: usb2 and usb3, link layer testing and MSC tests) and using USB2 X CV (ch9 tests, MSC tests) and verified this doesn't cause additional failures. Lecroy compliance tests fail even without this patch series so deferred testing it. Kishon Vijay Abraham I (6): usb: dwc3: ep0: Fix mem corruption on OUT transfers of more than 512 bytes usb: dwc3: ep0: use _roundup_ to calculate the transfer size usb: dwc3: ep0: preparation for handling non maxpacket aligned transfers > 512 usb: dwc3; ep0: Modify _dwc3_ep0_start_trans_ API to take 'chain' parameter usb: dwc3: ep0: Add chained TRB support usb: dwc3: ep0: handle non maxpacket aligned transfers > 512 drivers/usb/dwc3/ep0.c | 92 ++++++++++++++++++++++++++++++++------------- drivers/usb/dwc3/gadget.c | 2 +- 2 files changed, 67 insertions(+), 27 deletions(-) -- 1.7.9.5