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");