Re: [snd_hda_intel] snd_hda_intel causes high CPU lockup and system instability if mic disabled in BIOS on Lenovo P50

From: Takashi Iwai
Date: Mon Nov 26 2018 - 03:24:50 EST


On Mon, 26 Nov 2018 00:17:15 +0100,
Alexander Kappner wrote:
>
> My Lenovo P50 laptop has a BIOS option to disable the microphone. When
> this option gets chosen, the snd_hda_intel driver causes high CPU load
> on a single kworker thread, spinning on "process_unsol_events", and
> system
> instability. This behavior occurs from the time that the snd_hda_intel
> module is loaded, irrespective of whether anything is attempting to access
> the mic. The sound output still works.
>
> When in this state, the module cannot be removed cleanly; attempting to
> remove it (even without rmmod -f) triggers an oops.
>
> I have attached two exemplary dmesg outputs. Strangely enough, the exact
> location of the oops varies, but further up the call chain, I always see
> process_unsol_events.
>
> When the mic is not disabled in the BIOS, the module works stable,
> regardless whether or not the mic is muted in ALSA.
>
> I wasn't able to pinpoint the root cause. Any pointers on where to
> start? Much appreciated.

Could you load snd-hda-intel driver with probe_only=1 option, and give
alsa-info.sh output (run it with --no-upload option)? This should
leave only the codec probing without configuring, so we can see the
codec widget contents and check the emulator.


thanks,

Takashi