]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
ALSA: hda: Avoid spurious unsol event handling during S3/S4
authorTakashi Iwai <tiwai@suse.de>
Wed, 10 Mar 2021 11:28:08 +0000 (12:28 +0100)
committerSeth Forshee <seth.forshee@canonical.com>
Wed, 17 Mar 2021 18:39:56 +0000 (13:39 -0500)
commit77e7049e96e869b4a4085636110ed3ab0575ba1b
tree6668f9a510cb1df6c6920f9e9fd1ac9dd8d7bf1b
parent8e9b84dbbfca1a785d73ae1a9696084aed15a1ac
ALSA: hda: Avoid spurious unsol event handling during S3/S4

BugLink: https://bugs.launchpad.net/bugs/1919492
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 <abhsahu@nvidia.com>
Cc: <stable@vger.kernel.org> # 183ab39eb0ea: ALSA: hda: Initialize power_state
Link: https://lore.kernel.org/r/20210310112809.9215-3-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
sound/pci/hda/hda_bind.c