|
@@ -4864,8 +4864,8 @@ static void hda_power_work(struct work_struct *work)
|
|
|
spin_unlock(&codec->power_lock);
|
|
|
|
|
|
state = hda_call_codec_suspend(codec, true);
|
|
|
- codec->pm_down_notified = 0;
|
|
|
- if (!bus->power_keep_link_on && (state & AC_PWRST_CLK_STOP_OK)) {
|
|
|
+ if (!codec->pm_down_notified &&
|
|
|
+ !bus->power_keep_link_on && (state & AC_PWRST_CLK_STOP_OK)) {
|
|
|
codec->pm_down_notified = 1;
|
|
|
hda_call_pm_notify(bus, false);
|
|
|
}
|