Commit 44728e97c35ef31d649dafbbada665e37176f5da

Authored by Daniel J Blueman
Committed by Takashi Iwai
1 parent 6ffe168f82

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 <daniel@quora.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff

sound/pci/hda/hda_intel.c
... ... @@ -2876,7 +2876,7 @@
2876 2876 azx_notifier_unregister(chip);
2877 2877  
2878 2878 chip->init_failed = 1; /* to be sure */
2879   - complete(&chip->probe_wait);
  2879 + complete_all(&chip->probe_wait);
2880 2880  
2881 2881 if (use_vga_switcheroo(chip)) {
2882 2882 if (chip->disabled && chip->bus)
... ... @@ -3504,7 +3504,7 @@
3504 3504 pm_runtime_put_noidle(&pci->dev);
3505 3505  
3506 3506 dev++;
3507   - complete(&chip->probe_wait);
  3507 + complete_all(&chip->probe_wait);
3508 3508 return 0;
3509 3509  
3510 3510 out_free: