Re: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux

From: Takashi Iwai

Date: Sun May 31 2026 - 09:30:35 EST


On Sun, 31 May 2026 04:52:03 +0200,
周Ocean wrote:
>
>
> Hi Takashi,
>
> Thanks for your quick reply and professional guidance!
>
> Here is the original topology of Conexant CX20632 (SSID 2014:8004) on FEVM
> FA880 PRO:
>
> - Node 0x14 [Audio Input] (Analog Capture)
>   Connection: 4
>      0x1a 0x1b 0x1d 0x1e*   (Note: 0x1e is selected by default)
>
> - Node 0x1e [Pin Complex] (Internal Mic)
>   Pin Default 0x95a60120: [Fixed] Mic at Int Top
>   Connection: None (It's a digital/fixed mic pin)
>
> - Node 0x1a [Pin Complex] (Front Mic): Pin Default 0x02a1103e
> - Node 0x1b [Pin Complex] (Rear Mic): Pin Default 0x01a13030
>
> Regarding the kernel crash, I encountered a kernel Oops in try_assign_dacs()
> during the auto-config stage on the newer 7.0.10-cachyos kernel. I suspect it
> might be triggered when loading my out-of-tree custom DKMS module, or due to
> changes in how try_assign_dacs() interacts with this specific topology on the
> new kernel. (Fortunately, the system works perfectly fine on the 6.18-lts
> kernel with my custom module).
>
> In the older kernel (like 6.18), the auto-parser didn't crash but would
> incorrectly route Node 0x14 away from Node 0x1e after probing, disabling the
> internal microphone. That was why my previous patch forced index 0x03 on Node
> 0x14 in HDA_FIXUP_ACT_INIT.
>
> Since you mentioned correcting the routes before parsing, should we override
> the connection list of Node 0x14 to restrict it during
> HDA_FIXUP_ACT_PRE_PROBE, or override the pin default configuration via
> HDA_FIXUP_PINS to fix this properly? 
>
> I would really appreciate your advice on how we should construct the fixup
> gracefully!

For better understanding your system, could you give alsa-info.sh
outputs (at best both with and without your patch)? Run the script
with --no-upload option and attach the outputs.


thanks,