ALSA: hda: Workaround for spurious wakeups on some Intel platforms
authorTakashi Iwai <tiwai@suse.de>
Mon, 27 Jul 2020 16:44:43 +0000 (18:44 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 27 Jul 2020 16:45:38 +0000 (18:45 +0200)
commita6630529aecb5a3e84370c376ed658e892e6261e
tree7730334474e0b16c765ddb9771c60fb97300fc58
parent6fa38ef1534e7e9320aa15e329eb1404ab2f70ac
ALSA: hda: Workaround for spurious wakeups on some Intel platforms

We've received a regression report on Intel HD-audio controller that
wakes up immediately after S3 suspend.  The bisection leads to the
commit c4c8dd6ef807 ("ALSA: hda: Skip controller resume if not
needed").  This commit replaces the system-suspend to use
pm_runtime_force_suspend() instead of the direct call of
__azx_runtime_suspend().  However, by some really mysterious reason,
pm_runtime_force_suspend() causes a spurious wakeup (although it calls
the same __azx_runtime_suspend() internally).

As an ugly workaround for now, revert the behavior to call
__azx_runtime_suspend() and __azx_runtime_resume() for those old Intel
platforms that may exhibit such a problem, while keeping the new
standard pm_runtime_force_suspend() and pm_runtime_force_resume()
pair for the remaining chips.

Fixes: c4c8dd6ef807 ("ALSA: hda: Skip controller resume if not needed")
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=208649
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200727164443.4233-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_controller.h
sound/pci/hda/hda_intel.c