Commit 44728e97c35ef31d649dafbbada665e37176f5da
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: |