From 95e99fdadb34debebd8dd35bb5a18b253dece22d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Mon, 13 Aug 2007 15:29:04 +0200
Subject: [PATCH] [ALSA] hda-intel - Fix resume with power save

The controller power wasn't turned on properly at resume due to the
power-saving patch.  Now fixed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
---
 sound/pci/hda/hda_codec.c | 2 +-
 sound/pci/hda/hda_intel.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 9a3b72824f87..efd56a3396bd 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1662,6 +1662,7 @@ static void hda_call_codec_suspend(struct hda_codec *codec)
 			    AC_PWRST_D3);
 #ifdef CONFIG_SND_HDA_POWER_SAVE
 	cancel_delayed_work(&codec->power_work);
+	codec->power_on = 0;
 #endif
 }
 
@@ -2195,7 +2196,6 @@ static void hda_power_work(struct work_struct *work)
 		return;
 
 	hda_call_codec_suspend(codec);
-	codec->power_on = 0;
 	if (codec->bus->ops.pm_notify)
 		codec->bus->ops.pm_notify(codec);
 }
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 7be3a9b55330..f9c7c2e4f922 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1500,7 +1500,7 @@ static int azx_acquire_irq(struct azx *chip, int do_disconnect)
 
 static void azx_stop_chip(struct azx *chip)
 {
-	if (chip->initialized)
+	if (!chip->initialized)
 		return;
 
 	/* disable interrupts */
-- 
2.20.1