Hi Balbi, On Sun, Oct 11, 2015 at 8:08 PM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote: > Felipe Balbi wrote: >> Clemens Ladisch <clemens@xxxxxxxxxx> writes: >>> Felipe Tonello wrote: >>>> req->actual == req->length means that there is no data left to enqueue, >>> >>> This condition is not checked in the patch. >>> >>>> so free the request. >>>> >>>> Signed-off-by: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx> >>>> --- >>>> drivers/usb/gadget/function/f_midi.c | 5 ++--- >>>> 1 file changed, 2 insertions(+), 3 deletions(-) >>>> diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c >>>> index edb84ca..93212ca 100644 >>>> --- a/drivers/usb/gadget/function/f_midi.c >>>> +++ b/drivers/usb/gadget/function/f_midi.c >>>> @@ -256,9 +256,8 @@ f_midi_complete(struct usb_ep *ep, struct usb_request *req) >>>> /* We received stuff. req is queued again, below */ >>>> f_midi_handle_out_data(ep, req); >>>> } else if (ep == midi->in_ep) { >>>> - /* Our transmit completed. See if there's more to go. >>>> - * f_midi_transmit eats req, don't queue it again. */ >>>> - f_midi_transmit(midi, req); >>>> + /* Our transmit completed. Don't queue it again. */ >>>> + free_ep_req(ep, req); >>>> return; >>>> } >>>> break; >>> >>> The ALSA framework will give you a notification _once_. If the >>> resulting data is larger than midi->buflen, then you have to continue >>> sending packets. This is exactly what the call to f_midi_transmit() >>> does. >> >> so, should I drop this series from my TODO queue ? > > Yes, this patch needs to be dropped. You don't need to drop the whole series. Just this patch needs more work, the rest are fine (including bug fixes). Felipe Tonello -- 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