| From: =?UTF-8?q?Fabi=C3=A1n=20Inostroza?= <soulsonceonfire@gmail.com> |
| Date: Thu, 12 Apr 2018 00:37:35 -0300 |
| Subject: ALSA: line6: Use correct endpoint type for midi output |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit 7ecb46e9ee9af18e304eb9e7d6804c59a408e846 upstream. |
| |
| Sending MIDI messages to a PODxt through the USB connection shows |
| "usb_submit_urb failed" in dmesg and the message is not received by |
| the POD. |
| |
| The error is caused because in the funcion send_midi_async() in midi.c |
| there is a call to usb_sndbulkpipe() for endpoint 3 OUT, but the PODxt |
| USB descriptor shows that this endpoint it's an interrupt endpoint. |
| |
| Patch tested with PODxt only. |
| |
| [ The bug has been present from the very beginning in the staging |
| driver time, but Fixes below points to the commit moving to sound/ |
| directory so that the fix can be cleanly applied -- tiwai ] |
| |
| Fixes: 61864d844c29 ("ALSA: move line6 usb driver into sound/usb") |
| Signed-off-by: Fabián Inostroza <fabianinostroza@udec.cl> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| [bwh: Backported to 3.16: adjust filename, context] |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/staging/line6/midi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/staging/line6/midi.c |
| +++ b/drivers/staging/line6/midi.c |
| @@ -135,7 +135,7 @@ static int send_midi_async(struct usb_li |
| } |
| |
| usb_fill_int_urb(urb, line6->usbdev, |
| - usb_sndbulkpipe(line6->usbdev, |
| + usb_sndintpipe(line6->usbdev, |
| line6->ep_control_write), |
| transfer_buffer, length, midi_sent, line6, |
| line6->interval); |