Hi,

Attached is a patch to solve a little mistake with output endpoints detection 
for standard USB MIDI devices. Midisport devices are affected only if using 
Lars Doelle firmware.

Typical syslog output was like this:

kernel: snd-usb-midi: MIDIStreaming version 01.00
kernel: snd-usb-midi: EP 01: 2 jack(s)
kernel: snd-usb-midi: EP 81: 2 jack(s)
kernel: snd-usb-midi: created 0 output and 4 input ports
kernel: usb-uhci.c: ENXIO c0008480, flags 0, urb c1b665a0, burb c1b664a0
kernel: snd-usb-midi: usb_submit_urb: -6

Regards,
Pedro

-- 
ALSA Library Bindings for Pascal
http://alsapas.alturl.com
--- alsa-kernel/usb/usbmidi.c.old	Mon Jan 13 10:50:26 2003
+++ alsa-kernel/usb/usbmidi.c	Mon Feb  3 00:41:36 2003
@@ -821,7 +821,7 @@
 		    ms_ep->bDescriptorType != USB_DT_CS_ENDPOINT ||
 		    ms_ep->bDescriptorSubtype != MS_GENERAL)
 			continue;
-		if ((ep->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK) == USB_DIR_OUT) {
+		if ((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) {
 			if (endpoints[epidx].out_ep) {
 				if (++epidx >= MIDI_MAX_ENDPOINTS) {
 					printk(KERN_WARNING "snd-usb-midi: too many endpoints\n");

Reply via email to