From: Greg Kroah-Hartman Date: Mon, 13 Jun 2022 07:10:40 +0000 (+0200) Subject: 5.15-stable patches X-Git-Tag: v4.9.318~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ec64b3bd082d5500fff5d5d8b8e64bcf239be03c;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: alsa-hda-conexant-fix-loopback-issue-with-cx20632.patch alsa-hda-realtek-add-quirk-for-hp-dev-one.patch alsa-hda-realtek-fix-for-quirk-to-enable-speaker-output-on-the-lenovo-yoga-duetitl-2021.patch alsa-usb-audio-set-up-implicit-sync-for-saffire-6.patch alsa-usb-audio-skip-generic-sync-ep-parse-for-secondary-ep.patch cifs-fix-reconnect-on-smb3-mount-types.patch cifs-return-errors-during-session-setup-during-reconnects.patch --- diff --git a/queue-5.15/alsa-hda-conexant-fix-loopback-issue-with-cx20632.patch b/queue-5.15/alsa-hda-conexant-fix-loopback-issue-with-cx20632.patch new file mode 100644 index 00000000000..12dd4bfad01 --- /dev/null +++ b/queue-5.15/alsa-hda-conexant-fix-loopback-issue-with-cx20632.patch @@ -0,0 +1,37 @@ +From d5ea7544c32ba27c2c5826248e4ff58bd50a2518 Mon Sep 17 00:00:00 2001 +From: huangwenhui +Date: Tue, 7 Jun 2022 14:56:31 +0800 +Subject: ALSA: hda/conexant - Fix loopback issue with CX20632 + +From: huangwenhui + +commit d5ea7544c32ba27c2c5826248e4ff58bd50a2518 upstream. + +On a machine with CX20632, Alsamixer doesn't have 'Loopback +Mixing' and 'Line'. + +Signed-off-by: huangwenhui +Cc: +Link: https://lore.kernel.org/r/20220607065631.10708-1-huangwenhuia@uniontech.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/patch_conexant.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/sound/pci/hda/patch_conexant.c ++++ b/sound/pci/hda/patch_conexant.c +@@ -1052,6 +1052,13 @@ static int patch_conexant_auto(struct hd + snd_hda_pick_fixup(codec, cxt5051_fixup_models, + cxt5051_fixups, cxt_fixups); + break; ++ case 0x14f15098: ++ codec->pin_amp_workaround = 1; ++ spec->gen.mixer_nid = 0x22; ++ spec->gen.add_stereo_mix_input = HDA_HINT_STEREO_MIX_AUTO; ++ snd_hda_pick_fixup(codec, cxt5066_fixup_models, ++ cxt5066_fixups, cxt_fixups); ++ break; + case 0x14f150f2: + codec->power_save_node = 1; + fallthrough; diff --git a/queue-5.15/alsa-hda-realtek-add-quirk-for-hp-dev-one.patch b/queue-5.15/alsa-hda-realtek-add-quirk-for-hp-dev-one.patch new file mode 100644 index 00000000000..78e844f6faa --- /dev/null +++ b/queue-5.15/alsa-hda-realtek-add-quirk-for-hp-dev-one.patch @@ -0,0 +1,32 @@ +From 5f3d696eea916693b2d4ed7e62794653fcdd6ec0 Mon Sep 17 00:00:00 2001 +From: Jeremy Soller +Date: Wed, 8 Jun 2022 08:01:11 -0600 +Subject: ALSA: hda/realtek: Add quirk for HP Dev One + +From: Jeremy Soller + +commit 5f3d696eea916693b2d4ed7e62794653fcdd6ec0 upstream. + +Enables the audio mute LEDs and limits the mic boost to avoid picking up +noise. + +Signed-off-by: Jeremy Soller +Signed-off-by: Tim Crawford +Cc: +Link: https://lore.kernel.org/r/20220608140111.23170-1-tcrawford@system76.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/patch_realtek.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -8847,6 +8847,7 @@ static const struct snd_pci_quirk alc269 + SND_PCI_QUIRK(0x103c, 0x88d0, "HP Pavilion 15-eh1xxx (mainboard 88D0)", ALC287_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x89c3, "HP", ALC285_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x89ca, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), ++ SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST), + SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), + SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300), + SND_PCI_QUIRK(0x1043, 0x106d, "Asus K53BE", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), diff --git a/queue-5.15/alsa-hda-realtek-fix-for-quirk-to-enable-speaker-output-on-the-lenovo-yoga-duetitl-2021.patch b/queue-5.15/alsa-hda-realtek-fix-for-quirk-to-enable-speaker-output-on-the-lenovo-yoga-duetitl-2021.patch new file mode 100644 index 00000000000..05c5aa51bf1 --- /dev/null +++ b/queue-5.15/alsa-hda-realtek-fix-for-quirk-to-enable-speaker-output-on-the-lenovo-yoga-duetitl-2021.patch @@ -0,0 +1,35 @@ +From 85743a847caeab696dafc4ce1a7e1e2b7e29a0f6 Mon Sep 17 00:00:00 2001 +From: Cameron Berkenpas +Date: Sun, 5 Jun 2022 17:23:30 -0700 +Subject: ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021 + +From: Cameron Berkenpas + +commit 85743a847caeab696dafc4ce1a7e1e2b7e29a0f6 upstream. + +Enables the ALC287_FIXUP_YOGA7_14ITL_SPEAKERS quirk for the Lenovo +Yoga DuetITL 2021 laptop to fix speaker output. + +[ re-sorted in the SSID order by tiwai ] + +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=208555 +Signed-off-by: Cameron Berkenpas +Co-authored-by: Songine +Cc: stable@vger.kernel.org> +Link: https://lore.kernel.org/r/20220606002329.215330-1-cam@neo-zeon.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/patch_realtek.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -9043,6 +9043,7 @@ static const struct snd_pci_quirk alc269 + SND_PCI_QUIRK(0x17aa, 0x3176, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), + SND_PCI_QUIRK(0x17aa, 0x3178, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), + SND_PCI_QUIRK(0x17aa, 0x31af, "ThinkCentre Station", ALC623_FIXUP_LENOVO_THINKSTATION_P340), ++ SND_PCI_QUIRK(0x17aa, 0x3802, "Lenovo Yoga DuetITL 2021", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS), + SND_PCI_QUIRK(0x17aa, 0x3813, "Legion 7i 15IMHG05", ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS), + SND_PCI_QUIRK(0x17aa, 0x3818, "Lenovo C940", ALC298_FIXUP_LENOVO_SPK_VOLUME), + SND_PCI_QUIRK(0x17aa, 0x3819, "Lenovo 13s Gen2 ITL", ALC287_FIXUP_13S_GEN2_SPEAKERS), diff --git a/queue-5.15/alsa-usb-audio-set-up-implicit-sync-for-saffire-6.patch b/queue-5.15/alsa-usb-audio-set-up-implicit-sync-for-saffire-6.patch new file mode 100644 index 00000000000..b3b1375227c --- /dev/null +++ b/queue-5.15/alsa-usb-audio-set-up-implicit-sync-for-saffire-6.patch @@ -0,0 +1,71 @@ +From e0469d6581aecb0e34e2ec64f39f88e6985cc52f Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Mon, 6 Jun 2022 18:09:10 +0200 +Subject: ALSA: usb-audio: Set up (implicit) sync for Saffire 6 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Takashi Iwai + +commit e0469d6581aecb0e34e2ec64f39f88e6985cc52f upstream. + +Focusrite Saffire 6 has fixed audioformat quirks with multiple +endpoints assigned to a single altsetting. Unfortunately the generic +parser couldn't detect the sync endpoint correctly as the implicit +sync due to the missing EP attribute bits. In the former kernels, it +used to work somehow casually, but it's been broken for a while after +the large code change in 5.11. + +This patch cures the regression by the following: +- Allow the static quirk table to provide the sync EP information; + we just need to fill the fields and let the generic parser skipping + parsing if sync_ep is already set. +- Add the sync endpoint information to the entry for Saffire 6. + +Fixes: 7b0efea4baf0 ("ALSA: usb-audio: Add missing ep_idx in fixed EP quirks") +Reported-and-tested-by: André Kapelrud +Cc: +Link: https://lore.kernel.org/r/20220606160910.6926-3-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/usb/pcm.c | 3 +++ + sound/usb/quirks-table.h | 7 ++++++- + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c +index b0369df53910..e692ae04436a 100644 +--- a/sound/usb/pcm.c ++++ b/sound/usb/pcm.c +@@ -291,6 +291,9 @@ int snd_usb_audioformat_set_sync_ep(struct snd_usb_audio *chip, + bool is_playback; + int err; + ++ if (fmt->sync_ep) ++ return 0; /* already set up */ ++ + alts = snd_usb_get_host_interface(chip, fmt->iface, fmt->altsetting); + if (!alts) + return 0; +diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h +index 78eb41b621d6..4f56e1784932 100644 +--- a/sound/usb/quirks-table.h ++++ b/sound/usb/quirks-table.h +@@ -2658,7 +2658,12 @@ YAMAHA_DEVICE(0x7010, "UB99"), + .nr_rates = 2, + .rate_table = (unsigned int[]) { + 44100, 48000 +- } ++ }, ++ .sync_ep = 0x82, ++ .sync_iface = 0, ++ .sync_altsetting = 1, ++ .sync_ep_idx = 1, ++ .implicit_fb = 1, + } + }, + { +-- +2.36.1 + diff --git a/queue-5.15/alsa-usb-audio-skip-generic-sync-ep-parse-for-secondary-ep.patch b/queue-5.15/alsa-usb-audio-skip-generic-sync-ep-parse-for-secondary-ep.patch new file mode 100644 index 00000000000..119a1076860 --- /dev/null +++ b/queue-5.15/alsa-usb-audio-skip-generic-sync-ep-parse-for-secondary-ep.patch @@ -0,0 +1,46 @@ +From efb75df105e82f076a85b9f2d81410428bcb55fc Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Mon, 6 Jun 2022 18:09:09 +0200 +Subject: ALSA: usb-audio: Skip generic sync EP parse for secondary EP +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Takashi Iwai + +commit efb75df105e82f076a85b9f2d81410428bcb55fc upstream. + +When ep_idx is already non-zero, it means usually a capture stream +that is set up explicity by a fixed-format quirk, and applying the +check for generic (non-implicit-fb) sync EPs might hit incorrectly, +resulting in a bogus sync endpoint for the capture stream. + +This patch adds a check for the ep_idx and skip if it's a secondary +endpoint. It's a part of the fixes for regressions on Saffire 6. + +Fixes: 7b0efea4baf0 ("ALSA: usb-audio: Add missing ep_idx in fixed EP quirks") +Reported-and-tested-by: André Kapelrud +Cc: +Link: https://lore.kernel.org/r/20220606160910.6926-2-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/usb/pcm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c +index b470404a5376..b0369df53910 100644 +--- a/sound/usb/pcm.c ++++ b/sound/usb/pcm.c +@@ -304,7 +304,7 @@ int snd_usb_audioformat_set_sync_ep(struct snd_usb_audio *chip, + * Generic sync EP handling + */ + +- if (altsd->bNumEndpoints < 2) ++ if (fmt->ep_idx > 0 || altsd->bNumEndpoints < 2) + return 0; + + is_playback = !(get_endpoint(alts, 0)->bEndpointAddress & USB_DIR_IN); +-- +2.36.1 + diff --git a/queue-5.15/cifs-fix-reconnect-on-smb3-mount-types.patch b/queue-5.15/cifs-fix-reconnect-on-smb3-mount-types.patch new file mode 100644 index 00000000000..43d47908c61 --- /dev/null +++ b/queue-5.15/cifs-fix-reconnect-on-smb3-mount-types.patch @@ -0,0 +1,88 @@ +From c36ee7dab7749f7be21f7a72392744490b2a9a2b Mon Sep 17 00:00:00 2001 +From: Paulo Alcantara +Date: Sun, 5 Jun 2022 19:54:26 -0300 +Subject: cifs: fix reconnect on smb3 mount types + +From: Paulo Alcantara + +commit c36ee7dab7749f7be21f7a72392744490b2a9a2b upstream. + +cifs.ko defines two file system types: cifs & smb3, and +__cifs_get_super() was not including smb3 file system type when +looking up superblocks, therefore failing to reconnect tcons in +cifs_tree_connect(). + +Fix this by calling iterate_supers_type() on both file system types. + +Link: https://lore.kernel.org/r/CAFrh3J9soC36+BVuwHB=g9z_KB5Og2+p2_W+BBoBOZveErz14w@mail.gmail.com +Cc: stable@vger.kernel.org +Tested-by: Satadru Pramanik +Reported-by: Satadru Pramanik +Signed-off-by: Paulo Alcantara (SUSE) +Signed-off-by: Steve French +Signed-off-by: Greg Kroah-Hartman +--- + fs/cifs/cifsfs.c | 2 +- + fs/cifs/cifsfs.h | 2 +- + fs/cifs/misc.c | 27 ++++++++++++++++----------- + 3 files changed, 18 insertions(+), 13 deletions(-) + +--- a/fs/cifs/cifsfs.c ++++ b/fs/cifs/cifsfs.c +@@ -1074,7 +1074,7 @@ struct file_system_type cifs_fs_type = { + }; + MODULE_ALIAS_FS("cifs"); + +-static struct file_system_type smb3_fs_type = { ++struct file_system_type smb3_fs_type = { + .owner = THIS_MODULE, + .name = "smb3", + .init_fs_context = smb3_init_fs_context, +--- a/fs/cifs/cifsfs.h ++++ b/fs/cifs/cifsfs.h +@@ -38,7 +38,7 @@ static inline unsigned long cifs_get_tim + return (unsigned long) dentry->d_fsdata; + } + +-extern struct file_system_type cifs_fs_type; ++extern struct file_system_type cifs_fs_type, smb3_fs_type; + extern const struct address_space_operations cifs_addr_ops; + extern const struct address_space_operations cifs_addr_ops_smallbuf; + +--- a/fs/cifs/misc.c ++++ b/fs/cifs/misc.c +@@ -1212,18 +1212,23 @@ static struct super_block *__cifs_get_su + .data = data, + .sb = NULL, + }; ++ struct file_system_type **fs_type = (struct file_system_type *[]) { ++ &cifs_fs_type, &smb3_fs_type, NULL, ++ }; + +- iterate_supers_type(&cifs_fs_type, f, &sd); +- +- if (!sd.sb) +- return ERR_PTR(-EINVAL); +- /* +- * Grab an active reference in order to prevent automounts (DFS links) +- * of expiring and then freeing up our cifs superblock pointer while +- * we're doing failover. +- */ +- cifs_sb_active(sd.sb); +- return sd.sb; ++ for (; *fs_type; fs_type++) { ++ iterate_supers_type(*fs_type, f, &sd); ++ if (sd.sb) { ++ /* ++ * Grab an active reference in order to prevent automounts (DFS links) ++ * of expiring and then freeing up our cifs superblock pointer while ++ * we're doing failover. ++ */ ++ cifs_sb_active(sd.sb); ++ return sd.sb; ++ } ++ } ++ return ERR_PTR(-EINVAL); + } + + static void __cifs_put_super(struct super_block *sb) diff --git a/queue-5.15/cifs-return-errors-during-session-setup-during-reconnects.patch b/queue-5.15/cifs-return-errors-during-session-setup-during-reconnects.patch new file mode 100644 index 00000000000..1cea6671f17 --- /dev/null +++ b/queue-5.15/cifs-return-errors-during-session-setup-during-reconnects.patch @@ -0,0 +1,37 @@ +From 8ea21823aa584b55ba4b861307093b78054b0c1b Mon Sep 17 00:00:00 2001 +From: Shyam Prasad N +Date: Tue, 31 May 2022 12:31:05 +0000 +Subject: cifs: return errors during session setup during reconnects + +From: Shyam Prasad N + +commit 8ea21823aa584b55ba4b861307093b78054b0c1b upstream. + +During reconnects, we check the return value from +cifs_negotiate_protocol, and have handlers for both success +and failures. But if that passes, and cifs_setup_session +returns any errors other than -EACCES, we do not handle +that. This fix adds a handler for that, so that we don't +go ahead and try a tree_connect on a failed session. + +Signed-off-by: Shyam Prasad N +Reviewed-by: Enzo Matsumiya +Cc: stable@vger.kernel.org +Signed-off-by: Steve French +Signed-off-by: Greg Kroah-Hartman +--- + fs/cifs/smb2pdu.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/fs/cifs/smb2pdu.c ++++ b/fs/cifs/smb2pdu.c +@@ -268,6 +268,9 @@ smb2_reconnect(__le16 smb2_command, stru + ses->binding_chan = NULL; + mutex_unlock(&tcon->ses->session_mutex); + goto failed; ++ } else if (rc) { ++ mutex_unlock(&ses->session_mutex); ++ goto out; + } + } + /* diff --git a/queue-5.15/series b/queue-5.15/series index bb773ec59a4..61b2fa2a882 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -212,3 +212,10 @@ drm-amd-pm-use-bitmap_-from-to-_arr32-where-appropri.patch nodemask-fix-return-values-to-be-unsigned.patch vringh-fix-loop-descriptors-check-in-the-indirect-ca.patch scripts-gdb-change-kernel-config-dumping-method.patch +alsa-usb-audio-skip-generic-sync-ep-parse-for-secondary-ep.patch +alsa-usb-audio-set-up-implicit-sync-for-saffire-6.patch +alsa-hda-conexant-fix-loopback-issue-with-cx20632.patch +alsa-hda-realtek-fix-for-quirk-to-enable-speaker-output-on-the-lenovo-yoga-duetitl-2021.patch +alsa-hda-realtek-add-quirk-for-hp-dev-one.patch +cifs-return-errors-during-session-setup-during-reconnects.patch +cifs-fix-reconnect-on-smb3-mount-types.patch