|
@@ -130,16 +130,21 @@ static int send_midi_async(struct usb_line6 *line6, unsigned char *data,
|
|
|
transfer_buffer, length, midi_sent, line6,
|
|
|
line6->interval);
|
|
|
urb->actual_length = 0;
|
|
|
- retval = usb_submit_urb(urb, GFP_ATOMIC);
|
|
|
+ retval = usb_urb_ep_type_check(urb);
|
|
|
+ if (retval < 0)
|
|
|
+ goto error;
|
|
|
|
|
|
- if (retval < 0) {
|
|
|
- dev_err(line6->ifcdev, "usb_submit_urb failed\n");
|
|
|
- usb_free_urb(urb);
|
|
|
- return retval;
|
|
|
- }
|
|
|
+ retval = usb_submit_urb(urb, GFP_ATOMIC);
|
|
|
+ if (retval < 0)
|
|
|
+ goto error;
|
|
|
|
|
|
++line6->line6midi->num_active_send_urbs;
|
|
|
return 0;
|
|
|
+
|
|
|
+ error:
|
|
|
+ dev_err(line6->ifcdev, "usb_submit_urb failed\n");
|
|
|
+ usb_free_urb(urb);
|
|
|
+ return retval;
|
|
|
}
|
|
|
|
|
|
static int line6_midi_output_open(struct snd_rawmidi_substream *substream)
|