From 5d3fac209a5da4535ca2bd5b28ba6711499133e3 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Tue, 5 Nov 2019 21:24:57 -0500 Subject: [PATCH] fixes for 4.4 Signed-off-by: Sasha Levin --- ...sa-hda-flush-interrupts-on-disabling.patch | 64 +++++++++++++++++++ queue-4.4/series | 1 + 2 files changed, 65 insertions(+) create mode 100644 queue-4.4/revert-alsa-hda-flush-interrupts-on-disabling.patch diff --git a/queue-4.4/revert-alsa-hda-flush-interrupts-on-disabling.patch b/queue-4.4/revert-alsa-hda-flush-interrupts-on-disabling.patch new file mode 100644 index 00000000000..6b09822cc1d --- /dev/null +++ b/queue-4.4/revert-alsa-hda-flush-interrupts-on-disabling.patch @@ -0,0 +1,64 @@ +From 62f33809967071e04ad30b2f11ba0845b780e3df Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 28 Oct 2019 09:10:56 +0100 +Subject: Revert "ALSA: hda: Flush interrupts on disabling" + +From: Takashi Iwai + +[ Upstream commit 1a7f60b9df614bb36d14dc0c0bc898a31b2b506f ] + +This reverts commit caa8422d01e983782548648e125fd617cadcec3f. + +It turned out that this commit caused a regression at shutdown / +reboot, as the synchronize_irq() calls seems blocking the whole +shutdown. Also another part of the change about shuffling the call +order looks suspicious; the azx_stop_chip() call disables the CORB / +RIRB while the others may still need the CORB/RIRB update. + +Since the original commit itself was a cargo-fix, let's revert the +whole patch. + +Fixes: caa8422d01e9 ("ALSA: hda: Flush interrupts on disabling") +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=205333 +BugLinK: https://bugs.freedesktop.org/show_bug.cgi?id=111174 +Signed-off-by: Takashi Iwai +Cc: Chris Wilson +Link: https://lore.kernel.org/r/20191028081056.22010-1-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Sasha Levin +--- + sound/hda/hdac_controller.c | 2 -- + sound/pci/hda/hda_intel.c | 2 +- + 2 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/sound/hda/hdac_controller.c b/sound/hda/hdac_controller.c +index acc2c7dbfb151..4727f5b80e76d 100644 +--- a/sound/hda/hdac_controller.c ++++ b/sound/hda/hdac_controller.c +@@ -340,8 +340,6 @@ static void azx_int_disable(struct hdac_bus *bus) + list_for_each_entry(azx_dev, &bus->stream_list, list) + snd_hdac_stream_updateb(azx_dev, SD_CTL, SD_INT_MASK, 0); + +- synchronize_irq(bus->irq); +- + /* disable SIE for all streams */ + snd_hdac_chip_writeb(bus, INTCTL, 0); + +diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c +index 96ccab15da836..ef8955abd9186 100644 +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -1274,9 +1274,9 @@ static int azx_free(struct azx *chip) + } + + if (bus->chip_init) { +- azx_stop_chip(chip); + azx_clear_irq_pending(chip); + azx_stop_all_streams(chip); ++ azx_stop_chip(chip); + } + + if (bus->irq >= 0) +-- +2.20.1 + diff --git a/queue-4.4/series b/queue-4.4/series index 8f4bcf4a279..53a26ec295e 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -44,3 +44,4 @@ sch_netem-fix-rcu-splat-in-netem_enqueue.patch sctp-fix-the-issue-that-flags-are-ignored-when-using-kernel_connect.patch sctp-not-bind-the-socket-in-sctp_connect.patch xfs-correctly-invert-xfs_buftarg-lru-isolation-logic.patch +revert-alsa-hda-flush-interrupts-on-disabling.patch -- 2.47.2