Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3311629pxf; Mon, 15 Mar 2021 06:56:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx2DvRHhabMYZRjtNwmWv5aXuedyaAMp20WCQgBHwQcwdFEGqy7H0kLclf5Q1HAjdOS3ci3 X-Received: by 2002:a17:906:30da:: with SMTP id b26mr23651187ejb.376.1615816579669; Mon, 15 Mar 2021 06:56:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615816579; cv=none; d=google.com; s=arc-20160816; b=uqjKPKNqQfx9lEpIKhHrwW61hIMl/sU+kxyEaMxb81i9qnMsNPGKXCwKSqgeVBbSYo Vr74zNH3y/+rvGr25PNL24y9pNi1yjR8TbQ69xXqSiNKWt4J6kGYLAGt2eGpT4FTjfFX BGPR3Awo7PezURxg64mc8e1ZWjEFE7yPHk4sxf3vOtGjBsEA689I9CjHC9ocnkCq0csK rhb4/CSTCGIIj61l6IvNLTk7vO8BDd1me7CucbgzYgHCDZu7iKEAnnQvstuzhNQVFIWT +xLwaAkOYN4Lahmi/WKtoD+FZ8Mpc5Rv8GualYXA24qs25vypzeXUP+qt+tgA/UQyZeQ UNtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=JrMSYpHJGW9OaGLGkqtJJaWC0kidblwLYeafw7t5Fx0=; b=Y1t7ZR+NOu6Ml9PALboj85kbfzoOSuz8DjJ91UYVFyPG8eD93jkASiOGeoaOwlD0xu i088MlWD9TmqCB8MdAReVn1hjseQ/MB0SmPRJd2LRY4ltgQxmKW7Q0EPWZqloybq48aB KSHoz9IYBhxOrIEqWtGr5vD7+LAMaEGQoHm/MEI/TNziHLaLzB3uzHui+6XkVts1j0kF Sze3G5D+TWBNHfh/0xAOHyFPiuQuNjHBKQwNY7iu5naMwt54NolfnoVgnuzrKfzqzy3R c2ZmZm80NSQ4oiijR7LjJeZHT7rP1xOrWzlnkqGFL76pKWdKFlbbqI4iioUQWdBKPOjb XLPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=poi+l4yi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id zj22si3110760ejb.289.2021.03.15.06.55.57; Mon, 15 Mar 2021 06:56:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=poi+l4yi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231480AbhCONyt (ORCPT + 99 others); Mon, 15 Mar 2021 09:54:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:55910 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230378AbhCONx2 (ORCPT ); Mon, 15 Mar 2021 09:53:28 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 50B6764EB6; Mon, 15 Mar 2021 13:53:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1615816407; bh=xPOyjQVC9zn/UwBkVcl/FOk/o6vGCPsyRe8EBtqcggY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=poi+l4yiWWPZjMDj3j7ON2Las43hmo/XzRRmb9ZUDRvBg70PkYLJHc5G1OH2Lu1UO mjHi9TFOl6S/Fi+68VLm7+3v8y1jT65Elb6cXMvh0T5N0KWBQsE9tObPRIfda89be/ hdXeMwDote+7mFbndf6LCjis3tahdGE5PQFJvq/s= From: gregkh@linuxfoundation.org To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Abhishek Sahu , Takashi Iwai Subject: [PATCH 4.4 26/75] ALSA: hda: Avoid spurious unsol event handling during S3/S4 Date: Mon, 15 Mar 2021 14:51:40 +0100 Message-Id: <20210315135209.110183575@linuxfoundation.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210315135208.252034256@linuxfoundation.org> References: <20210315135208.252034256@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Greg Kroah-Hartman From: Takashi Iwai commit 5ff9dde42e8c72ed8102eb8cb62e03f9dc2103ab upstream. When HD-audio bus receives unsolicited events during its system suspend/resume (S3 and S4) phase, the controller driver may still try to process events although the codec chips are already (or yet) powered down. This might screw up the codec communication, resulting in CORB/RIRB errors. Such events should be rather skipped, as the codec chip status such as the jack status will be fully refreshed at the system resume time. Since we're tracking the system suspend/resume state in codec power.power_state field, let's add the check in the common unsol event handler entry point to filter out such events. BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1182377 Tested-by: Abhishek Sahu Cc: # 183ab39eb0ea: ALSA: hda: Initialize power_state Link: https://lore.kernel.org/r/20210310112809.9215-3-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/hda_bind.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/sound/pci/hda/hda_bind.c +++ b/sound/pci/hda/hda_bind.c @@ -46,6 +46,10 @@ static void hda_codec_unsol_event(struct if (codec->bus->shutdown) return; + /* ignore unsol events during system suspend/resume */ + if (codec->core.dev.power.power_state.event != PM_EVENT_ON) + return; + if (codec->patch_ops.unsol_event) codec->patch_ops.unsol_event(codec, ev); }