From 88b8913471bb1ad92f335b99a1f0a02f627f3b7a Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 19 Dec 2019 05:29:32 +0000 Subject: [PATCH] linux (Generic): fix broken ALSA on Nvidia after 5.4.3 Ref: https://bugzilla.kernel.org/show_bug.cgi?id=205855 --- ...-fix-broken-alsa-on-nvidia-bko205855.patch | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/linux/patches/default/linux-999-fix-broken-alsa-on-nvidia-bko205855.patch diff --git a/packages/linux/patches/default/linux-999-fix-broken-alsa-on-nvidia-bko205855.patch b/packages/linux/patches/default/linux-999-fix-broken-alsa-on-nvidia-bko205855.patch new file mode 100644 index 0000000000..70664371fe --- /dev/null +++ b/packages/linux/patches/default/linux-999-fix-broken-alsa-on-nvidia-bko205855.patch @@ -0,0 +1,29 @@ +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 78647ee02339..630b1f5c276d 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -2021,6 +2021,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);