From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05509C04EB9 for ; Wed, 5 Dec 2018 14:08:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C6AC02082B for ; Wed, 5 Dec 2018 14:08:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C6AC02082B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727531AbeLEOIU (ORCPT ); Wed, 5 Dec 2018 09:08:20 -0500 Received: from mx2.suse.de ([195.135.220.15]:43142 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726918AbeLEOIU (ORCPT ); Wed, 5 Dec 2018 09:08:20 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id BFDE3ACD9; Wed, 5 Dec 2018 14:08:17 +0000 (UTC) Date: Wed, 05 Dec 2018 15:08:16 +0100 Message-ID: From: Takashi Iwai To: Alexander Kappner Cc: Jim.Qu@amd.com, bhelgaas@google.com, guneshwor.o.singh@intel.com, perex@perex.cz, hdegoede@redhat.com, lukas@wunner.de, alsa-devel@alsa-project.org, linux-kernel@vger.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 In-Reply-To: References: User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/26 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 01 Dec 2018 20:33:16 +0100, Alexander Kappner wrote: > > 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. Hrm, that's strange. The mic_enabled_default.txt shows "Mic Jack" false while the mic_disabled_default.txt shows "Mic Jack" true. It sounds like other way round. Could you confirm this behavior? In anyway, there seems no difference in the pin configs or such between BIOS mic enable/disable. So this shouldn't be the cause. And I noticed that you're testing 4.19-rc4. Could you test with 4.19 final or 4.19.y stable, at least? thanks, Takashi