[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1812011117340.26587@REDDOT>
Date: Sat, 1 Dec 2018 11:33:16 -0800 (PST)
From: Alexander Kappner <agk@...king.net>
To: Takashi Iwai <tiwai@...e.de>
cc: Alexander Kappner <agk@...king.net>, Jim.Qu@....com,
bhelgaas@...gle.com, guneshwor.o.singh@...el.com, perex@...ex.cz,
hdegoede@...hat.com, lukas@...ner.de, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org
Subject: Re: [snd_hda_intel] snd_hda_intel causes high CPU lockup and system
instability if mic disabled in BIOS on Lenovo P50
On Tue, 27 Nov 2018, Takashi Iwai wrote:
> On Tue, 27 Nov 2018 06:34:02 +0100,
> Alexander Kappner wrote:
>>
>>
>>
>>
>> On Mon, 26 Nov 2018, Takashi Iwai wrote:
>>
>>> 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
>>>
>>
>> Hi Takashi,
>>
>> thank you for looking into this. Please see quoted below the output of
>> alsa-info.sh (after "modprobe snd_hda_intel probe_only=1").
>
> This is the state where BIOS disabled the mic, right?
> It seems that BIOS doesn't change the pin configuration. The pin NID
> 0x18 and 0x19 still show up as the mic jack and dock mic jack, as well
> as the built-in mic on NID 0x12. And I couldn't see anything wrong in
> the emulator with this input.
>
> When BIOS disables the mic, how is supposed? Does it disable all
> mics, including built-in one?
>
> Could you check alsa-info.sh outputs on both BIOS mic disable and
> enabled (but keep probe_only=1 option in both cases)?
>
> Also alsa-info.sh outputs on both cases without probe_only=1 would be
> helpful, too.
>
>
> thanks,
>
> Takashi
>
Hi Takashi,
as requestd, please see attached four files, reflecting each combination
of probe_only and mic enabled/disabled. To answer your question -- yes, the initial file
I had sent reflected the mic disabled state.
The BIOS option definitely disables the internal microphone. I could not
test whether it would also disable other microphones (e.g. externally
connected) since I do not have an external mic, but I will find out.
Best regards
Alexander
View attachment "alsa_micenabled_probeonly.txt" of type "TEXT/PLAIN" (32547 bytes)
View attachment "alsa_micenabled_default.txt" of type "TEXT/PLAIN" (39882 bytes)
View attachment "alsa_micdisabled_probeonly.txt" of type "TEXT/PLAIN" (30590 bytes)
View attachment "alsa_micdisabled_default.txt" of type "TEXT/PLAIN" (39893 bytes)
Powered by blists - more mailing lists