[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160726191200.18943-1-eu@felipetonello.com>
Date: Tue, 26 Jul 2016 20:11:51 +0100
From: "Felipe F. Tonello" <eu@...ipetonello.com>
To: linux-usb@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, Felipe Balbi <balbi@...nel.org>,
Baolin Wang <baolin.wang@...aro.org>,
Michal Nazarewicz <mina86@...a86.com>,
Andrzej Pietrasiewicz <andrzej.p@...sung.com>
Subject: [PATCH v2 0/9] Gadget endpoint request allocation and MIDI
As discussed with Baolin Wang, Michal Nazarewicz and Felipe Balbi. I propose
the forced buffer alignment of OUT endpoints USB requests. This is implemented
by patches #1 and #2.
That not just simplifies the driver code, but it also prevents nasty bugs when
buflen is not aligned or even less than wMaxPacketSize.
Patch #9 is more of a POC. It removes direct calls to usb_ep_alloc_request()
and use alloc_ep_req() instead. If accepted, then we should apply to all other
gadgets that uses usb_ep_alloc_request() when possible and encorage drivers to
use it instead.
Everything else is self-explanatory.
Changes from v1:
* Added patches 1, 2, 7, 8 ,9.
* Patch 3 removes max_t() for buffer alignment with wMaxPacketSize
Felipe F. Tonello (9):
usb: gadget: fix usb_ep_align_maybe endianness and new usb_ep_align
usb: gadget: align buffer size when allocating for OUT endpoint
usb: gadget: f_midi: remove alignment code for OUT endpoint
usb: gadget: f_midi: defaults buflen sizes to 512
usb: gadget: f_midi: refactor state machine
usb: gadget: f_midi: drop substreams when disabling endpoint
usb: gadget: remove useless parameter in alloc_ep_req()
usb: gadget: f_hid: use free_ep_req()
usb: gadget: f_hid: use alloc_ep_req()
drivers/usb/gadget/function/f_hid.c | 26 +---
drivers/usb/gadget/function/f_loopback.c | 9 +-
drivers/usb/gadget/function/f_midi.c | 240 +++++++++++++++++------------
drivers/usb/gadget/function/f_sourcesink.c | 11 +-
drivers/usb/gadget/legacy/gmidi.c | 2 +-
drivers/usb/gadget/u_f.c | 6 +-
drivers/usb/gadget/u_f.h | 2 +-
include/linux/usb/gadget.h | 17 +-
8 files changed, 174 insertions(+), 139 deletions(-)
--
2.9.0
Powered by blists - more mailing lists