| From 24d1e49415be546470b20429d748e240d0518b7e Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Thu, 8 Jul 2021 11:07:38 +0200 |
| Subject: ALSA: intel8x0: Fix breakage at ac97 clock measurement |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 24d1e49415be546470b20429d748e240d0518b7e upstream. |
| |
| The recent workaround for the wild interrupts in commit c1f0616124c4 |
| ("ALSA: intel8x0: Don't update period unless prepared") leaded to a |
| regression, causing the interrupt storm during ac97 clock measurement |
| at the driver probe. We need to handle the interrupt while the clock |
| measurement as well as the proper PCM streams. |
| |
| Fixes: c1f0616124c4 ("ALSA: intel8x0: Don't update period unless prepared") |
| Reported-and-tested-by: Max Filippov <jcmvbkbc@gmail.com> |
| Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org> |
| Cc: <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/CAMo8BfKKMQkcsbOQaeEjq_FsJhdK=fn598dvh7YOcZshUSOH=g@mail.gmail.com |
| Link: https://lore.kernel.org/r/20210708090738.1569-1-tiwai@suse.de |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/intel8x0.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/sound/pci/intel8x0.c |
| +++ b/sound/pci/intel8x0.c |
| @@ -715,7 +715,7 @@ static inline void snd_intel8x0_update(s |
| int status, civ, i, step; |
| int ack = 0; |
| |
| - if (!ichdev->prepared || ichdev->suspended) |
| + if (!(ichdev->prepared || chip->in_measurement) || ichdev->suspended) |
| return; |
| |
| spin_lock_irqsave(&chip->reg_lock, flags); |