Fwd: ISA soundcard SoundBlaster AWE32 snd-sbawe.ko freezes the system with pipewire/wireplumber

From: Bagas Sanjaya
Date: Sun Nov 26 2023 - 09:03:36 EST


Hi,

I notice a bug report on Bugzilla [1]. Quoting from it:

> Kernel: 6.6.2
> pipewire-0.3.80-1 (Fedora 39 version)
> wireplumber-0.4.14-2 (Fedora 39 version)
>
> Soundcard: Creative SoundBlaster AWE32 (snd-sbawe.ko)
> CPU: Pentium (P54C) 120MHz
> Mmeory: 1GB
>
> Symptom: invoking wireplumber after the soundcard module snd-sbawe.ko load freezes the entire system.
>
> Steps to reproduce:
>
> Since this soundcard is an ISA PnP card, driver is not loaded automativcally on boot. Manually load:
> # modprobe snd-sbawe seq_ports=0
>
> Check if ALSA is working:
> # alay -D plughw:0 /usr/share/sounds/alsa/Front-Center.wav
> Works. So far, so good.
>
> # systemctl --user start pipewire pipewire-pulse wireplumber
> freezes the entire system (after brief "top" showing 30% CPU usage of wireplumber, which is normal)
>
> Serial console does not have any interesting message:
> [ 405.192389] fbcon: radeondrmfb (fb0) is primary device
> [ 405.474790] Console: switching to colour frame buffer device 170x48
> [ 405.973621] radeon 0000:01:00.0: [drm] fb0: radeondrmfb frame buffer device
> [ 494.400038] sbawe 01:01.00: activated
> [ 494.461230] sbawe 01:01.02: activated
>
> Mishaps on userland (wireplumber) should not cause system freeze, so
> I consider this a kernel bug.
>
> Results by other soundcards:
> YMF744B (PCI card, snd-ymfpci.ko): wireplumber works (pw-play -v Front_Center.wav)
> ES1868F (ISA card, snd-es18xx.ko): wireplumber works (pw-play -v Front_Center.wav)
> Vibra16 (ISA card, snd-sb16.ko): Only "Front" part of Front_Center.wav is played by aplay -D plughw:0, not working properly on ALSA level, different issue
> SoundBlaster Live!(PCI card, snd-emu10k1.ko): driver cannot wake the card to D0 state; different issue

See Bugzilla for the full thread.

Thanks.

[1]: https://bugzilla.kernel.org/show_bug.cgi?id=218185

--
An old man doll... just what I always wanted! - Clara