From: Daniel J Blueman Date: Tue, 18 Dec 2012 15:59:33 +0000 (+0800) Subject: ALSA: HDA: Fix sound resume hang X-Git-Tag: upstream/snapshot3+hdmi~5986^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=44728e97c35ef31d649dafbbada665e37176f5da;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git ALSA: HDA: Fix sound resume hang Resuming a switcheroo'd HDA controller hangs since the completion is one-shot (thus works the first time). Fix by using completions that explictly need rearming, so remain fired before. Signed-off-by: Daniel J Blueman Signed-off-by: Takashi Iwai --- diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 0f3d3db..cca8727 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2876,7 +2876,7 @@ static int azx_free(struct azx *chip) azx_notifier_unregister(chip); chip->init_failed = 1; /* to be sure */ - complete(&chip->probe_wait); + complete_all(&chip->probe_wait); if (use_vga_switcheroo(chip)) { if (chip->disabled && chip->bus) @@ -3504,7 +3504,7 @@ static int azx_probe(struct pci_dev *pci, pm_runtime_put_noidle(&pci->dev); dev++; - complete(&chip->probe_wait); + complete_all(&chip->probe_wait); return 0; out_free: