M-Audio Oxygen 49: snd_uaudio cycles (loads, detaches, loads.... ad infinitum)

Clemens Ladisch clemens at ladisch.de
Mon Jan 2 15:41:23 UTC 2012


Hans Petter Selasky wrote:
> It looks like your device has a problem with the clear-stall of the BULK
> endpoint used for MIDI. In other words it is not fully USB compliant.

After devices whose descriptors were so broken that they couldn't ever
run with newer Windows versions, after devices where (only!) the capture
interface used big-endian samples, and after devices that corrupted
their data buffer when receiving MIDI data with running status, I'm
*extremely* surprised that there would be another M-Audio device with
firmware bugs.

> I'm not sure how we can avoid this.

Plain MIDI does not have any error detection, so there is no error
condition that could be reported with a stall.  I've never seen
a stalled MIDI endpoint, except for devices with broken hardware where
the endpoint was stalled from the beginning and where a clear-stall
wouldn't help.

The Linux driver neither detects nor clears stalls, and works fine.

It's obvious that clear-stall requests are not well tested in MIDI
devices' firmwares, so I wouldn't be surprised if there were other
devices that have the same bug, or even lock up.

Is there a reason that umidi_probe/_open unconditionally issue clear-
stalls, other than "just to be safe"?


Regards,
Clemens


More information about the freebsd-multimedia mailing list