diff options
Diffstat (limited to '0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch')
-rw-r--r-- | 0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch b/0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch deleted file mode 100644 index 07b11cc..0000000 --- a/0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 04fe3cc1f00622bf3ff356dca7f122768a14bdbc Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Sat, 14 Dec 2019 18:52:17 +0100 -Subject: ALSA: hda: Fix regression by strip mask fix - -The commit e38e486d66e2 ("ALSA: hda: Modify stream stripe mask only -when needed") tried to address the regression by the unconditional -application of the stripe mask, but this caused yet another -regression for the previously working devices. Namely, the patch -clears the azx_dev->stripe flag at snd_hdac_stream_clear(), but this -may be called multiple times before restarting the stream, so this -ended up with clearance of the flag for the whole time. - -This patch fixes the regression by moving the azx_dev->stripe flag -clearance at the counter-part, the close callback of HDMI codec -driver instead. - -Fixes: e38e486d66e2 ("ALSA: hda: Modify stream stripe mask only when needed") -BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=205855 -BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204477 -Cc: <stable@vger.kernel.org> -Link: https://lore.kernel.org/r/20191214175217.31852-1-tiwai@suse.de -Signed-off-by: Takashi Iwai <tiwai@suse.de> ---- - sound/hda/hdac_stream.c | 4 +--- - sound/pci/hda/patch_hdmi.c | 2 ++ - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c -index f9707fb05efe..682ed39f79b0 100644 ---- a/sound/hda/hdac_stream.c -+++ b/sound/hda/hdac_stream.c -@@ -120,10 +120,8 @@ void snd_hdac_stream_clear(struct hdac_stream *azx_dev) - snd_hdac_stream_updateb(azx_dev, SD_CTL, - SD_CTL_DMA_START | SD_INT_MASK, 0); - snd_hdac_stream_writeb(azx_dev, SD_STS, SD_INT_MASK); /* to be sure */ -- if (azx_dev->stripe) { -+ if (azx_dev->stripe) - snd_hdac_stream_updateb(azx_dev, SD_CTL_3B, SD_CTL_STRIPE_MASK, 0); -- azx_dev->stripe = 0; -- } - azx_dev->running = false; - } - EXPORT_SYMBOL_GPL(snd_hdac_stream_clear); -diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c -index 4dafc864d765..488c17c9f375 100644 ---- a/sound/pci/hda/patch_hdmi.c -+++ b/sound/pci/hda/patch_hdmi.c -@@ -1983,6 +1983,8 @@ static int hdmi_pcm_close(struct hda_pcm_stream *hinfo, - per_cvt->assigned = 0; - hinfo->nid = 0; - -+ azx_stream(get_azx_dev(substream))->stripe = 0; -+ - mutex_lock(&spec->pcm_lock); - snd_hda_spdif_ctls_unassign(codec, pcm_idx); - clear_bit(pcm_idx, &spec->pcm_in_use); --- -cgit v1.2.1-1-g437b - |