ALSA: hda - Don't trigger jackpoll_work in azx_resume
authorHui Wang <hui.wang@canonical.com>
Tue, 19 Mar 2019 01:28:43 +0000 (09:28 +0800)
committerTakashi Iwai <tiwai@suse.de>
Tue, 19 Mar 2019 05:52:19 +0000 (06:52 +0100)
commit744c67ffeb06f2d2493f4049ba0bd19698ce0adf
tree5854d3e1a35d84709d7365594cde3b02550b7944
parentb4748e7ab731e436cf5db4786358ada5dd2db6dd
ALSA: hda - Don't trigger jackpoll_work in azx_resume

The commit 3baffc4a84d7 (ALSA: hda/intel: Refactoring PM code) changed
the behaviour of azx_resume(), it triggers the jackpoll_work after
applying this commit.

This change introduced a new issue, all codecs are runtime active
after S3, and will not call runtime_suspend() automatically.

The root cause is the jackpoll_work calls snd_hda_power_up/down_pm,
and it calls up_pm before snd_hdac_enter_pm is called, while calls
the down_pm in the middle of enter_pm and leave_pm is called. This
makes the dev->power.usage_count unbalanced after S3.

To fix it, let azx_resume() don't trigger jackpoll_work as before
it did.

Fixes: 3baffc4a84d7 ("ALSA: hda/intel: Refactoring PM code")
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c