ALSA: hda - Skip ELD notification during PM process
authorTakashi Iwai <tiwai@suse.de>
Fri, 27 Nov 2015 13:53:35 +0000 (14:53 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 3 Dec 2015 16:36:10 +0000 (17:36 +0100)
The ELD notification can be received asynchronously from the graphics
side, and this may happen just at the moment the sound driver is
processing the suspend or the resume, and it would confuse the whole
procedure.  Since the ELD and connection states are updated in anyway
at the end of the resume, we can skip it when received during PM
process.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_hdmi.c

index 4b6fb668c91cd1ba2e4964d49c0d610cab43c458..da264e8acce25cccd992f01f8991f95e073e298b 100644 (file)
@@ -2357,6 +2357,9 @@ static void intel_pin_eld_notify(void *audio_ptr, int port)
         */
        if (snd_power_get_state(codec->card) != SNDRV_CTL_POWER_D0)
                return;
+       /* ditto during suspend/resume process itself */
+       if (atomic_read(&(codec)->core.in_pm))
+               return;
 
        check_presence_and_report(codec, pin_nid);
 }