[haiku-commits] Re: haiku: hrev52983 - in src/add-ons/kernel: drivers/audio/usb busses/usb

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 9 Mar 2019 18:48:05 -0500

On Sat, Mar 9, 2019 at 5:54 PM waddlesplash <waddlesplash@xxxxxxxxx> wrote:

965d4047bb8a: usb_audio: Trim trailing spaces; change device basename to 
"hmulti/usb".

c5c392585c7d: usb_audio: Fixes for SMAP.

7356f1de4b7b: XHCI: Properly handle partially-failed transfers.

So, I have a WIP implementation of XHCI isochronous transfers offline.
For all I know it works; but due to [0], [1] it's impossible to
actually try to use the usb_audio driver for output; and when using it
for input, media_addon_server crashes within 1 second of clicking
"Record" in SoundRecorder. There's then quite a lot of syslog messages
from the usb_audio driver saying that there are a lot of unprocessed
buffers (so it appears that it actually is receiving things).

Trying to kill the crashed media_addon_server then lands me in KDL,
because it tries to destroy the usb_audio device without properly
cleaning up its state in the XHCI driver (that's on me, but if it
actually worked, this wouldn't happen :), so I can't currently get a
debug report; but I'm guessing it's the "buffer ID mismatch" one or
something similar like before.

Then I tried to use the UVC webcam media_addon ... but putting that
into /system/non-packaged/add-ons/media and then restarting
media_server got me no output at all; so maybe it doesn't know
anything about my webcam.

The OHCI and EHCI drivers support in-bound isochronous transfers, so
one could test the SoundRecorder case with them already; and OHCI
supports outbound transfers, so one could test the two linked tickets
with that. Most of these bugs appear to be in Barrett's ballpark,
though, so CC'ing him. It would really be nice to get this stuff
working...

-waddlesplash

[0]: https://dev.haiku-os.org/ticket/12776
[1]: https://dev.haiku-os.org/ticket/12777

Other related posts: