ah, the problem here is that the umidi lock, which is taken by midiopen(), is a spin lock, but the usb lock attempted to be taken later is an sleeping lock, and that's not allowed. i have not yet looked at if we can change umidi's lock. .mrg.