[PATCH v5 0/7] USB MIDI Gadget improvements and bug fixes

From: Felipe F. Tonello
Date: Tue Nov 10 2015 - 12:54:58 EST


Patch 7 has changes on how to transmit IN USB requests. It implements a FIFO
of pre-allocated usb requests and uses then as needed, instead of allocating
then on demand. This is my initial implementation and is open for
suggestions and comments.

Patches 1-6 is pretty much straight forward.

changes in v5:
- Use ep->enabled insetad of creating driver specific flag
- Save MIDIStreaming interface id in driver data
- define free_ep_req as static inline in header

changes in v4:
- pre-alocation of in requests.
- more code clean up
- fix memory leak on out requests
- configure endpoints only when setting up MIDIStreaming interface

Felipe F. Tonello (7):
usb: gadget: f_midi: Transmit data only when IN ep is enabled
usb: gadget: f_midi: remove duplicated code
usb: gadget: define free_ep_req as universal function
usb: gadget: f_midi: fix leak on failed to enqueue out requests
usb: gadget: gmidi: Cleanup legacy code
usb: gadget: f_midi: set altsettings only for MIDIStreaming interface
usb: gadget: f_midi: pre-allocate IN requests

drivers/usb/gadget/function/f_midi.c | 196 ++++++++++++++++++++---------
drivers/usb/gadget/function/f_sourcesink.c | 6 -
drivers/usb/gadget/function/g_zero.h | 1 -
drivers/usb/gadget/legacy/gmidi.c | 10 +-
drivers/usb/gadget/u_f.c | 1 -
drivers/usb/gadget/u_f.h | 10 +-
6 files changed, 145 insertions(+), 79 deletions(-)

--
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/