[Bug 272286] When unplugging USB sound card, usbconfig stops working

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 30 Jun 2023 02:05:53 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272286

--- Comment #2 from Jonas Lopes <jonasbsd@gmail.com> ---
(In reply to Mina Galić from comment #1)

Hi Mina,

On the nose!

It was SNDIO arresting the process.

After I stopped the service:

# usbconfig list
ugen0.1: <Intel XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps)
pwr=SAVE (0mA)
ugen0.3: <Dell Computer Corp Dell Universal Receiver> at usbus0, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.4: <Chicony Electronics Co.,Ltd. Integrated Camera> at usbus0, cfg=0
md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen0.5: <vendor 0x8087 product 0x0a2a> at usbus0, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON (100mA)

After I plugged the sound card back in:

# usbconfig list
ugen0.1: <Intel XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps)
pwr=SAVE (0mA)
ugen0.3: <Dell Computer Corp Dell Universal Receiver> at usbus0, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.4: <Chicony Electronics Co.,Ltd. Integrated Camera> at usbus0, cfg=0
md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen0.5: <vendor 0x8087 product 0x0a2a> at usbus0, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON (100mA)
*ugen0.2: <Kingston HyperX Amp> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps)
pwr=ON (100mA)*


The `procstat -a -k` command ran to completion without any problems. It did not
show any hanging.

I think it's interesting to have a callback in the USB processes to signal when
something has been unplugged and to detach the reference. Such as, "hey sndio,
virtual_oss, pulse, etc, that sound card was unplugged. Take it off your list".

Mina, thank you very much!!!

Best,

-- 
You are receiving this mail because:
You are the assignee for the bug.