diff options
Diffstat (limited to 'drivers/usb/gadget/function/f_midi.c')
-rw-r--r-- | drivers/usb/gadget/function/f_midi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c index 42acb45e1ab4..898a570319f1 100644 --- a/drivers/usb/gadget/function/f_midi.c +++ b/drivers/usb/gadget/function/f_midi.c | |||
@@ -370,6 +370,7 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt) | |||
370 | if (err) { | 370 | if (err) { |
371 | ERROR(midi, "%s queue req: %d\n", | 371 | ERROR(midi, "%s queue req: %d\n", |
372 | midi->out_ep->name, err); | 372 | midi->out_ep->name, err); |
373 | free_ep_req(midi->out_ep, req); | ||
373 | } | 374 | } |
374 | } | 375 | } |
375 | 376 | ||
@@ -545,7 +546,7 @@ static void f_midi_transmit(struct f_midi *midi, struct usb_request *req) | |||
545 | } | 546 | } |
546 | } | 547 | } |
547 | 548 | ||
548 | if (req->length > 0) { | 549 | if (req->length > 0 && ep->enabled) { |
549 | int err; | 550 | int err; |
550 | 551 | ||
551 | err = usb_ep_queue(ep, req, GFP_ATOMIC); | 552 | err = usb_ep_queue(ep, req, GFP_ATOMIC); |