]> git.baikalelectronics.ru Git - 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)
committerTakashi Iwai <tiwai@suse.de>
Wed, 10 Mar 2021 11:51:49 +0000 (12:51 +0100)
commitbd43522f212d4b65d56e0d3da44220f58d343c39
tree451a4f338bb74e31b80429e171ceabe832249b02
parentf2ba0c34a0c3f9d03dca9cc61a70cd89ffc3f3c7
ALSA: hda: Avoid spurious unsol event handling during S3/S4

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> # 944fa2091c59: 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>
sound/pci/hda/hda_bind.c