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

Hans Petter Selasky hselasky at c2i.net
Mon Jan 2 18:04:46 UTC 2012


On Monday 02 January 2012 16:25:25 Clemens Ladisch wrote:
> 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"?

The reason is just to clear any buffered data from previous transfers. We 
could probably skip this.

--HPS


More information about the freebsd-multimedia mailing list