]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.10
authorSasha Levin <sashal@kernel.org>
Sat, 23 Nov 2024 10:44:07 +0000 (05:44 -0500)
committerSasha Levin <sashal@kernel.org>
Sat, 23 Nov 2024 10:44:07 +0000 (05:44 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
15 files changed:
queue-5.10/alsa-hda-realtek-add-subwoofer-quirk-for-infinix-zer.patch [new file with mode: 0644]
queue-5.10/alsa-usb-audio-fix-yamaha-p-125-quirk-entry.patch [new file with mode: 0644]
queue-5.10/asoc-intel-bytcr_rt5640-add-dmi-quirk-for-vexia-edu-.patch [new file with mode: 0644]
queue-5.10/asoc-stm-prevent-potential-division-by-zero-in-stm32.patch [new file with mode: 0644]
queue-5.10/asoc-stm-prevent-potential-division-by-zero-in-stm32.patch-9969 [new file with mode: 0644]
queue-5.10/can-j1939-fix-error-in-j1939-documentation.patch [new file with mode: 0644]
queue-5.10/ipmr-fix-access-to-mfc_cache_list-without-lock-held.patch [new file with mode: 0644]
queue-5.10/mac80211-fix-user-power-when-emulating-chanctx.patch [new file with mode: 0644]
queue-5.10/net-usb-qmi_wwan-add-quectel-rg650v.patch [new file with mode: 0644]
queue-5.10/proc-softirqs-replace-seq_printf-with-seq_put_decima.patch [new file with mode: 0644]
queue-5.10/regulator-rk808-add-apply_bit-for-buck3-on-rk809.patch [new file with mode: 0644]
queue-5.10/selftests-watchdog-test-fix-system-accidentally-rese.patch [new file with mode: 0644]
queue-5.10/series
queue-5.10/soc-qcom-add-check-devm_kasprintf-returned-value.patch [new file with mode: 0644]
queue-5.10/x86-amd_nb-fix-compile-testing-without-config_amd_nb.patch [new file with mode: 0644]

diff --git a/queue-5.10/alsa-hda-realtek-add-subwoofer-quirk-for-infinix-zer.patch b/queue-5.10/alsa-hda-realtek-add-subwoofer-quirk-for-infinix-zer.patch
new file mode 100644 (file)
index 0000000..c216f95
--- /dev/null
@@ -0,0 +1,67 @@
+From 9542dc3db50fc35b3bdefa0ebb71e7433e4dbf7b Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 28 Oct 2024 15:55:16 +0000
+Subject: ALSA: hda/realtek: Add subwoofer quirk for Infinix ZERO BOOK 13
+
+From: Piyush Raj Chouhan <piyushchouhan1598@gmail.com>
+
+[ Upstream commit ef5fbdf732a158ec27eeba69d8be851351f29f73 ]
+
+Infinix ZERO BOOK 13 has a 2+2 speaker system which isn't probed correctly.
+This patch adds a quirk with the proper pin connections.
+Also The mic in this laptop suffers too high gain resulting in mostly
+fan noise being recorded,
+This patch Also limit mic boost.
+
+HW Probe for device; https://linux-hardware.org/?probe=a2e892c47b
+
+Test: All 4 speaker works, Mic has low noise.
+
+Signed-off-by: Piyush Raj Chouhan <piyushchouhan1598@gmail.com>
+Link: https://patch.msgid.link/20241028155516.15552-1-piyuschouhan1598@gmail.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/pci/hda/patch_realtek.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index ae58718383e88..e9b7bf94aa3a8 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -6877,6 +6877,7 @@ enum {
+       ALC290_FIXUP_SUBWOOFER_HSJACK,
+       ALC269_FIXUP_THINKPAD_ACPI,
+       ALC269_FIXUP_DMIC_THINKPAD_ACPI,
++      ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13,
+       ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO,
+       ALC255_FIXUP_ACER_MIC_NO_PRESENCE,
+       ALC255_FIXUP_ASUS_MIC_NO_PRESENCE,
+@@ -7178,6 +7179,16 @@ static const struct hda_fixup alc269_fixups[] = {
+               .type = HDA_FIXUP_FUNC,
+               .v.func = alc269_fixup_pincfg_U7x7_headset_mic,
+       },
++      [ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13] = {
++              .type = HDA_FIXUP_PINS,
++              .v.pins = (const struct hda_pintbl[]) {
++                      { 0x14, 0x90170151 }, /* use as internal speaker (LFE) */
++                      { 0x1b, 0x90170152 }, /* use as internal speaker (back) */
++                      { }
++              },
++              .chained = true,
++              .chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST
++      },
+       [ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO] = {
+               .type = HDA_FIXUP_PINS,
+               .v.pins = (const struct hda_pintbl[]) {
+@@ -9449,6 +9460,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
+       SND_PCI_QUIRK(0x1d72, 0x1945, "Redmi G", ALC256_FIXUP_ASUS_HEADSET_MIC),
+       SND_PCI_QUIRK(0x1d72, 0x1947, "RedmiBook Air", ALC255_FIXUP_XIAOMI_HEADSET_MIC),
+       SND_PCI_QUIRK(0x2782, 0x0214, "VAIO VJFE-CL", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
++      SND_PCI_QUIRK(0x2782, 0x0228, "Infinix ZERO BOOK 13", ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13),
+       SND_PCI_QUIRK(0x2782, 0x0232, "CHUWI CoreBook XPro", ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO),
+       SND_PCI_QUIRK(0x2782, 0x1707, "Vaio VJFE-ADL", ALC298_FIXUP_SPK_VOLUME),
+       SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC),
+-- 
+2.43.0
+
diff --git a/queue-5.10/alsa-usb-audio-fix-yamaha-p-125-quirk-entry.patch b/queue-5.10/alsa-usb-audio-fix-yamaha-p-125-quirk-entry.patch
new file mode 100644 (file)
index 0000000..832c5ea
--- /dev/null
@@ -0,0 +1,56 @@
+From 94313892f5c6ba9054e39925859217a36fc48dee Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 11 Nov 2024 11:45:21 -0500
+Subject: ALSA: usb-audio: Fix Yamaha P-125 Quirk Entry
+
+From: Eryk Zagorski <erykzagorski@gmail.com>
+
+[ Upstream commit 6f891ca15b017707840c9e7f5afd9fc6cfd7d8b1 ]
+
+This patch switches the P-125 quirk entry to use a composite quirk as the
+P-125 supplies both MIDI and Audio like many of the other Yamaha
+keyboards
+
+Signed-off-by: Eryk Zagorski <erykzagorski@gmail.com>
+Link: https://patch.msgid.link/20241111164520.9079-2-erykzagorski@gmail.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/usb/quirks-table.h | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
+index c6104523dd79c..119c0bde74464 100644
+--- a/sound/usb/quirks-table.h
++++ b/sound/usb/quirks-table.h
+@@ -350,7 +350,6 @@ YAMAHA_DEVICE(0x105a, NULL),
+ YAMAHA_DEVICE(0x105b, NULL),
+ YAMAHA_DEVICE(0x105c, NULL),
+ YAMAHA_DEVICE(0x105d, NULL),
+-YAMAHA_DEVICE(0x1718, "P-125"),
+ {
+       USB_DEVICE(0x0499, 0x1503),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+@@ -485,6 +484,19 @@ YAMAHA_DEVICE(0x1718, "P-125"),
+               }
+       }
+ },
++{
++      USB_DEVICE(0x0499, 0x1718),
++      QUIRK_DRIVER_INFO {
++              /* .vendor_name = "Yamaha", */
++              /* .product_name = "P-125", */
++              QUIRK_DATA_COMPOSITE {
++                      { QUIRK_DATA_STANDARD_AUDIO(1) },
++                      { QUIRK_DATA_STANDARD_AUDIO(2) },
++                      { QUIRK_DATA_MIDI_YAMAHA(3) },
++                      QUIRK_COMPOSITE_END
++              }
++      }
++},
+ YAMAHA_DEVICE(0x2000, "DGP-7"),
+ YAMAHA_DEVICE(0x2001, "DGP-5"),
+ YAMAHA_DEVICE(0x2002, NULL),
+-- 
+2.43.0
+
diff --git a/queue-5.10/asoc-intel-bytcr_rt5640-add-dmi-quirk-for-vexia-edu-.patch b/queue-5.10/asoc-intel-bytcr_rt5640-add-dmi-quirk-for-vexia-edu-.patch
new file mode 100644 (file)
index 0000000..90950c5
--- /dev/null
@@ -0,0 +1,53 @@
+From 05c793afca95d32d10a4e115815ddf7648a62b8e Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 24 Oct 2024 23:16:15 +0200
+Subject: ASoC: Intel: bytcr_rt5640: Add DMI quirk for Vexia Edu Atla 10 tablet
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+[ Upstream commit 0107f28f135231da22a9ad5756bb16bd5cada4d5 ]
+
+The Vexia Edu Atla 10 tablet mostly uses the BYTCR tablet defaults,
+but as happens on more models it is using IN1 instead of IN3 for
+its internal mic and JD_SRC_JD2_IN4N instead of JD_SRC_JD1_IN4P
+for jack-detection.
+
+Add a DMI quirk for this to fix the internal-mic and jack-detection.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Link: https://patch.msgid.link/20241024211615.79518-2-hdegoede@redhat.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/intel/boards/bytcr_rt5640.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
+index 47b581d99da67..6fc6a1fcd935e 100644
+--- a/sound/soc/intel/boards/bytcr_rt5640.c
++++ b/sound/soc/intel/boards/bytcr_rt5640.c
+@@ -935,6 +935,21 @@ static const struct dmi_system_id byt_rt5640_quirk_table[] = {
+                                       BYT_RT5640_SSP0_AIF2 |
+                                       BYT_RT5640_MCLK_EN),
+       },
++      {       /* Vexia Edu Atla 10 tablet */
++              .matches = {
++                      DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
++                      DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"),
++                      /* Above strings are too generic, also match on BIOS date */
++                      DMI_MATCH(DMI_BIOS_DATE, "08/25/2014"),
++              },
++              .driver_data = (void *)(BYT_RT5640_IN1_MAP |
++                                      BYT_RT5640_JD_SRC_JD2_IN4N |
++                                      BYT_RT5640_OVCD_TH_2000UA |
++                                      BYT_RT5640_OVCD_SF_0P75 |
++                                      BYT_RT5640_DIFF_MIC |
++                                      BYT_RT5640_SSP0_AIF2 |
++                                      BYT_RT5640_MCLK_EN),
++      },
+       {       /* Voyo Winpad A15 */
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
+-- 
+2.43.0
+
diff --git a/queue-5.10/asoc-stm-prevent-potential-division-by-zero-in-stm32.patch b/queue-5.10/asoc-stm-prevent-potential-division-by-zero-in-stm32.patch
new file mode 100644 (file)
index 0000000..c6ba9c1
--- /dev/null
@@ -0,0 +1,40 @@
+From 3ddb7b7ed566c6dd3255de47c29b1ac91e6f5f30 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 6 Nov 2024 09:46:54 +0800
+Subject: ASoC: stm: Prevent potential division by zero in
+ stm32_sai_mclk_round_rate()
+
+From: Luo Yifan <luoyifan@cmss.chinamobile.com>
+
+[ Upstream commit 63c1c87993e0e5bb11bced3d8224446a2bc62338 ]
+
+This patch checks if div is less than or equal to zero (div <= 0). If
+div is zero or negative, the function returns -EINVAL, ensuring the
+division operation (*prate / div) is safe to perform.
+
+Signed-off-by: Luo Yifan <luoyifan@cmss.chinamobile.com>
+Link: https://patch.msgid.link/20241106014654.206860-1-luoyifan@cmss.chinamobile.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/stm/stm32_sai_sub.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sound/soc/stm/stm32_sai_sub.c b/sound/soc/stm/stm32_sai_sub.c
+index 3aa1cf2624020..3a7f0102b4c5c 100644
+--- a/sound/soc/stm/stm32_sai_sub.c
++++ b/sound/soc/stm/stm32_sai_sub.c
+@@ -380,8 +380,8 @@ static long stm32_sai_mclk_round_rate(struct clk_hw *hw, unsigned long rate,
+       int div;
+       div = stm32_sai_get_clk_div(sai, *prate, rate);
+-      if (div < 0)
+-              return div;
++      if (div <= 0)
++              return -EINVAL;
+       mclk->freq = *prate / div;
+-- 
+2.43.0
+
diff --git a/queue-5.10/asoc-stm-prevent-potential-division-by-zero-in-stm32.patch-9969 b/queue-5.10/asoc-stm-prevent-potential-division-by-zero-in-stm32.patch-9969
new file mode 100644 (file)
index 0000000..c241891
--- /dev/null
@@ -0,0 +1,39 @@
+From b1a22cd94f90f61f9317097b2bf6629f11310c08 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 7 Nov 2024 09:59:36 +0800
+Subject: ASoC: stm: Prevent potential division by zero in
+ stm32_sai_get_clk_div()
+
+From: Luo Yifan <luoyifan@cmss.chinamobile.com>
+
+[ Upstream commit 23569c8b314925bdb70dd1a7b63cfe6100868315 ]
+
+This patch checks if div is less than or equal to zero (div <= 0). If
+div is zero or negative, the function returns -EINVAL, ensuring the
+division operation is safe to perform.
+
+Signed-off-by: Luo Yifan <luoyifan@cmss.chinamobile.com>
+Reviewed-by: Olivier Moysan <olivier.moysan@foss.st.com>
+Link: https://patch.msgid.link/20241107015936.211902-1-luoyifan@cmss.chinamobile.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/stm/stm32_sai_sub.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sound/soc/stm/stm32_sai_sub.c b/sound/soc/stm/stm32_sai_sub.c
+index 3a7f0102b4c5c..90e4757f76b0f 100644
+--- a/sound/soc/stm/stm32_sai_sub.c
++++ b/sound/soc/stm/stm32_sai_sub.c
+@@ -319,7 +319,7 @@ static int stm32_sai_get_clk_div(struct stm32_sai_sub_data *sai,
+       int div;
+       div = DIV_ROUND_CLOSEST(input_rate, output_rate);
+-      if (div > SAI_XCR1_MCKDIV_MAX(version)) {
++      if (div > SAI_XCR1_MCKDIV_MAX(version) || div <= 0) {
+               dev_err(&sai->pdev->dev, "Divider %d out of range\n", div);
+               return -EINVAL;
+       }
+-- 
+2.43.0
+
diff --git a/queue-5.10/can-j1939-fix-error-in-j1939-documentation.patch b/queue-5.10/can-j1939-fix-error-in-j1939-documentation.patch
new file mode 100644 (file)
index 0000000..115ac97
--- /dev/null
@@ -0,0 +1,40 @@
+From 704695625671b5a28bda38d97152b298078f91a6 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 23 Oct 2024 16:52:57 +0200
+Subject: can: j1939: fix error in J1939 documentation.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Alexander Hölzl <alexander.hoelzl@gmx.net>
+
+[ Upstream commit b6ec62e01aa4229bc9d3861d1073806767ea7838 ]
+
+The description of PDU1 format usage mistakenly referred to PDU2 format.
+
+Signed-off-by: Alexander Hölzl <alexander.hoelzl@gmx.net>
+Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
+Acked-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
+Link: https://patch.msgid.link/20241023145257.82709-1-alexander.hoelzl@gmx.net
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ Documentation/networking/j1939.rst | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Documentation/networking/j1939.rst b/Documentation/networking/j1939.rst
+index 0a4b73b03b997..59f81ba411608 100644
+--- a/Documentation/networking/j1939.rst
++++ b/Documentation/networking/j1939.rst
+@@ -83,7 +83,7 @@ format, the Group Extension is set in the PS-field.
+ On the other hand, when using PDU1 format, the PS-field contains a so-called
+ Destination Address, which is _not_ part of the PGN. When communicating a PGN
+-from user space to kernel (or vice versa) and PDU2 format is used, the PS-field
++from user space to kernel (or vice versa) and PDU1 format is used, the PS-field
+ of the PGN shall be set to zero. The Destination Address shall be set
+ elsewhere.
+-- 
+2.43.0
+
diff --git a/queue-5.10/ipmr-fix-access-to-mfc_cache_list-without-lock-held.patch b/queue-5.10/ipmr-fix-access-to-mfc_cache_list-without-lock-held.patch
new file mode 100644 (file)
index 0000000..899c5ae
--- /dev/null
@@ -0,0 +1,76 @@
+From a67ab92ed867342f5d3da5eb85e8e399b427f869 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 8 Nov 2024 06:08:36 -0800
+Subject: ipmr: Fix access to mfc_cache_list without lock held
+
+From: Breno Leitao <leitao@debian.org>
+
+[ Upstream commit e28acc9c1ccfcb24c08e020828f69d0a915b06ae ]
+
+Accessing `mr_table->mfc_cache_list` is protected by an RCU lock. In the
+following code flow, the RCU read lock is not held, causing the
+following error when `RCU_PROVE` is not held. The same problem might
+show up in the IPv6 code path.
+
+       6.12.0-rc5-kbuilder-01145-gbac17284bdcb #33 Tainted: G            E    N
+       -----------------------------
+       net/ipv4/ipmr_base.c:313 RCU-list traversed in non-reader section!!
+
+       rcu_scheduler_active = 2, debug_locks = 1
+                  2 locks held by RetransmitAggre/3519:
+                   #0: ffff88816188c6c0 (nlk_cb_mutex-ROUTE){+.+.}-{3:3}, at: __netlink_dump_start+0x8a/0x290
+                   #1: ffffffff83fcf7a8 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_dumpit+0x6b/0x90
+
+       stack backtrace:
+                   lockdep_rcu_suspicious
+                   mr_table_dump
+                   ipmr_rtm_dumproute
+                   rtnl_dump_all
+                   rtnl_dumpit
+                   netlink_dump
+                   __netlink_dump_start
+                   rtnetlink_rcv_msg
+                   netlink_rcv_skb
+                   netlink_unicast
+                   netlink_sendmsg
+
+This is not a problem per see, since the RTNL lock is held here, so, it
+is safe to iterate in the list without the RCU read lock, as suggested
+by Eric.
+
+To alleviate the concern, modify the code to use
+list_for_each_entry_rcu() with the RTNL-held argument.
+
+The annotation will raise an error only if RTNL or RCU read lock are
+missing during iteration, signaling a legitimate problem, otherwise it
+will avoid this false positive.
+
+This will solve the IPv6 case as well, since ip6mr_rtm_dumproute() calls
+this function as well.
+
+Signed-off-by: Breno Leitao <leitao@debian.org>
+Reviewed-by: David Ahern <dsahern@kernel.org>
+Link: https://patch.msgid.link/20241108-ipmr_rcu-v2-1-c718998e209b@debian.org
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/ipv4/ipmr_base.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/net/ipv4/ipmr_base.c b/net/ipv4/ipmr_base.c
+index aa8738a91210a..c45cb7cb57590 100644
+--- a/net/ipv4/ipmr_base.c
++++ b/net/ipv4/ipmr_base.c
+@@ -301,7 +301,8 @@ int mr_table_dump(struct mr_table *mrt, struct sk_buff *skb,
+       if (filter->filter_set)
+               flags |= NLM_F_DUMP_FILTERED;
+-      list_for_each_entry_rcu(mfc, &mrt->mfc_cache_list, list) {
++      list_for_each_entry_rcu(mfc, &mrt->mfc_cache_list, list,
++                              lockdep_rtnl_is_held()) {
+               if (e < s_e)
+                       goto next_entry;
+               if (filter->dev &&
+-- 
+2.43.0
+
diff --git a/queue-5.10/mac80211-fix-user-power-when-emulating-chanctx.patch b/queue-5.10/mac80211-fix-user-power-when-emulating-chanctx.patch
new file mode 100644 (file)
index 0000000..c5bef26
--- /dev/null
@@ -0,0 +1,37 @@
+From 54114bb9a589f0a2e12a1beefa3b348259ec8867 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 10 Oct 2024 13:39:54 -0700
+Subject: mac80211: fix user-power when emulating chanctx
+
+From: Ben Greear <greearb@candelatech.com>
+
+[ Upstream commit 9b15c6cf8d2e82c8427cd06f535d8de93b5b995c ]
+
+ieee80211_calc_hw_conf_chan was ignoring the configured
+user_txpower.  If it is set, use it to potentially decrease
+txpower as requested.
+
+Signed-off-by: Ben Greear <greearb@candelatech.com>
+Link: https://patch.msgid.link/20241010203954.1219686-1-greearb@candelatech.com
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/mac80211/main.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/net/mac80211/main.c b/net/mac80211/main.c
+index ae90ac3be59aa..8b3eead8989dd 100644
+--- a/net/mac80211/main.c
++++ b/net/mac80211/main.c
+@@ -144,6 +144,8 @@ static u32 ieee80211_hw_conf_chan(struct ieee80211_local *local)
+       }
+       power = ieee80211_chandef_max_power(&chandef);
++      if (local->user_power_level != IEEE80211_UNSET_POWER_LEVEL)
++              power = min(local->user_power_level, power);
+       rcu_read_lock();
+       list_for_each_entry_rcu(sdata, &local->interfaces, list) {
+-- 
+2.43.0
+
diff --git a/queue-5.10/net-usb-qmi_wwan-add-quectel-rg650v.patch b/queue-5.10/net-usb-qmi_wwan-add-quectel-rg650v.patch
new file mode 100644 (file)
index 0000000..bee3447
--- /dev/null
@@ -0,0 +1,65 @@
+From 2acba26403549c29f386c231b57911c4bb002cea Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 24 Oct 2024 17:11:13 +0200
+Subject: net: usb: qmi_wwan: add Quectel RG650V
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Benoît Monin <benoit.monin@gmx.fr>
+
+[ Upstream commit 6b3f18a76be6bbd237c7594cf0bf2912b68084fe ]
+
+Add support for Quectel RG650V which is based on Qualcomm SDX65 chip.
+The composition is DIAG / NMEA / AT / AT / QMI.
+
+T: Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  4 Spd=5000 MxCh= 0
+D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
+P: Vendor=2c7c ProdID=0122 Rev=05.15
+S: Manufacturer=Quectel
+S: Product=RG650V-EU
+S: SerialNumber=xxxxxxx
+C: #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=896mA
+I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
+E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
+E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
+E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+E: Ad=84(I) Atr=03(Int.) MxPS=  10 Ivl=9ms
+I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
+E: Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+E: Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+E: Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=9ms
+I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
+E: Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+E: Ad=87(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
+E: Ad=88(I) Atr=03(Int.) MxPS=   8 Ivl=9ms
+
+Signed-off-by: Benoît Monin <benoit.monin@gmx.fr>
+Reviewed-by: Simon Horman <horms@kernel.org>
+Link: https://patch.msgid.link/20241024151113.53203-1-benoit.monin@gmx.fr
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/usb/qmi_wwan.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
+index 3b1076eea6702..a6953ac95eec7 100644
+--- a/drivers/net/usb/qmi_wwan.c
++++ b/drivers/net/usb/qmi_wwan.c
+@@ -1020,6 +1020,7 @@ static const struct usb_device_id products[] = {
+               USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
+               .driver_info = (unsigned long)&qmi_wwan_info,
+       },
++      {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0122)},   /* Quectel RG650V */
+       {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)},   /* Quectel EC25, EC20 R2.0  Mini PCIe */
+       {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)},   /* Quectel EP06/EG06/EM06 */
+       {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)},   /* Quectel EG12/EM12 */
+-- 
+2.43.0
+
diff --git a/queue-5.10/proc-softirqs-replace-seq_printf-with-seq_put_decima.patch b/queue-5.10/proc-softirqs-replace-seq_printf-with-seq_put_decima.patch
new file mode 100644 (file)
index 0000000..e47582f
--- /dev/null
@@ -0,0 +1,39 @@
+From ddda1316641639946c6254fef44a9e01412eb5bf Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 6 Nov 2024 10:12:28 +0800
+Subject: proc/softirqs: replace seq_printf with seq_put_decimal_ull_width
+
+From: David Wang <00107082@163.com>
+
+[ Upstream commit 84b9749a3a704dcc824a88aa8267247c801d51e4 ]
+
+seq_printf is costy, on a system with n CPUs, reading /proc/softirqs
+would yield 10*n decimal values, and the extra cost parsing format string
+grows linearly with number of cpus. Replace seq_printf with
+seq_put_decimal_ull_width have significant performance improvement.
+On an 8CPUs system, reading /proc/softirqs show ~40% performance
+gain with this patch.
+
+Signed-off-by: David Wang <00107082@163.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/proc/softirqs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fs/proc/softirqs.c b/fs/proc/softirqs.c
+index 12901dcf57e2b..d8f4e7d54d002 100644
+--- a/fs/proc/softirqs.c
++++ b/fs/proc/softirqs.c
+@@ -19,7 +19,7 @@ static int show_softirqs(struct seq_file *p, void *v)
+       for (i = 0; i < NR_SOFTIRQS; i++) {
+               seq_printf(p, "%12s:", softirq_to_name[i]);
+               for_each_possible_cpu(j)
+-                      seq_printf(p, " %10u", kstat_softirqs_cpu(i, j));
++                      seq_put_decimal_ull_width(p, " ", kstat_softirqs_cpu(i, j), 10);
+               seq_putc(p, '\n');
+       }
+       return 0;
+-- 
+2.43.0
+
diff --git a/queue-5.10/regulator-rk808-add-apply_bit-for-buck3-on-rk809.patch b/queue-5.10/regulator-rk808-add-apply_bit-for-buck3-on-rk809.patch
new file mode 100644 (file)
index 0000000..17227fd
--- /dev/null
@@ -0,0 +1,43 @@
+From 14f49023a77d40bda341f0cb4567925c2ed3a177 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 17 Oct 2024 21:37:28 +0300
+Subject: regulator: rk808: Add apply_bit for BUCK3 on RK809
+
+From: Mikhail Rudenko <mike.rudenko@gmail.com>
+
+[ Upstream commit 5e53e4a66bc7430dd2d11c18a86410e3a38d2940 ]
+
+Currently, RK809's BUCK3 regulator is modelled in the driver as a
+configurable regulator with 0.5-2.4V voltage range. But the voltage
+setting is not actually applied, because when bit 6 of
+PMIC_POWER_CONFIG register is set to 0 (default), BUCK3 output voltage
+is determined by the external feedback resistor. Fix this, by setting
+bit 6 when voltage selection is set. Existing users which do not
+specify voltage constraints in their device trees will not be affected
+by this change, since no voltage setting is applied in those cases,
+and bit 6 is not enabled.
+
+Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
+Link: https://patch.msgid.link/20241017-rk809-dcdc3-v1-1-e3c3de92f39c@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/regulator/rk808-regulator.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c
+index e926c1a858460..e3b9d5ce8dbbf 100644
+--- a/drivers/regulator/rk808-regulator.c
++++ b/drivers/regulator/rk808-regulator.c
+@@ -944,6 +944,8 @@ static const struct regulator_desc rk809_reg[] = {
+               .n_linear_ranges = ARRAY_SIZE(rk817_buck1_voltage_ranges),
+               .vsel_reg = RK817_BUCK3_ON_VSEL_REG,
+               .vsel_mask = RK817_BUCK_VSEL_MASK,
++              .apply_reg = RK817_POWER_CONFIG,
++              .apply_bit = RK817_BUCK3_FB_RES_INTER,
+               .enable_reg = RK817_POWER_EN_REG(0),
+               .enable_mask = ENABLE_MASK(RK817_ID_DCDC3),
+               .enable_val = ENABLE_MASK(RK817_ID_DCDC3),
+-- 
+2.43.0
+
diff --git a/queue-5.10/selftests-watchdog-test-fix-system-accidentally-rese.patch b/queue-5.10/selftests-watchdog-test-fix-system-accidentally-rese.patch
new file mode 100644 (file)
index 0000000..b51a62a
--- /dev/null
@@ -0,0 +1,58 @@
+From d745c32af4f5b1473d3b4b8722168ae758bee8e3 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 29 Oct 2024 11:13:24 +0800
+Subject: selftests/watchdog-test: Fix system accidentally reset after
+ watchdog-test
+
+From: Li Zhijian <lizhijian@fujitsu.com>
+
+[ Upstream commit dc1308bee1ed03b4d698d77c8bd670d399dcd04d ]
+
+When running watchdog-test with 'make run_tests', the watchdog-test will
+be terminated by a timeout signal(SIGTERM) due to the test timemout.
+
+And then, a system reboot would happen due to watchdog not stop. see
+the dmesg as below:
+```
+[ 1367.185172] watchdog: watchdog0: watchdog did not stop!
+```
+
+Fix it by registering more signals(including SIGTERM) in watchdog-test,
+where its signal handler will stop the watchdog.
+
+After that
+ # timeout 1 ./watchdog-test
+ Watchdog Ticking Away!
+ .
+ Stopping watchdog ticks...
+
+Link: https://lore.kernel.org/all/20241029031324.482800-1-lizhijian@fujitsu.com/
+Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
+Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
+Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ tools/testing/selftests/watchdog/watchdog-test.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/tools/testing/selftests/watchdog/watchdog-test.c b/tools/testing/selftests/watchdog/watchdog-test.c
+index f45e510500c0d..09773695d219f 100644
+--- a/tools/testing/selftests/watchdog/watchdog-test.c
++++ b/tools/testing/selftests/watchdog/watchdog-test.c
+@@ -242,7 +242,13 @@ int main(int argc, char *argv[])
+       printf("Watchdog Ticking Away!\n");
++      /*
++       * Register the signals
++       */
+       signal(SIGINT, term);
++      signal(SIGTERM, term);
++      signal(SIGKILL, term);
++      signal(SIGQUIT, term);
+       while (1) {
+               keep_alive();
+-- 
+2.43.0
+
index a532036bf97e7bef52be8374fb6d080c704ecfbb..459c668a2b2120268cf693b828e36206fd7317b9 100644 (file)
@@ -22,3 +22,17 @@ mm-avoid-unsafe-vma-hook-invocation-when-error-arises-on-mmap-hook.patch
 mm-unconditionally-close-vmas-on-error.patch
 mm-refactor-arch_calc_vm_flag_bits-and-arm64-mte-handling.patch
 mm-resolve-faulty-mmap_region-error-path-behaviour.patch
+asoc-intel-bytcr_rt5640-add-dmi-quirk-for-vexia-edu-.patch
+mac80211-fix-user-power-when-emulating-chanctx.patch
+selftests-watchdog-test-fix-system-accidentally-rese.patch
+alsa-hda-realtek-add-subwoofer-quirk-for-infinix-zer.patch
+x86-amd_nb-fix-compile-testing-without-config_amd_nb.patch
+net-usb-qmi_wwan-add-quectel-rg650v.patch
+soc-qcom-add-check-devm_kasprintf-returned-value.patch
+regulator-rk808-add-apply_bit-for-buck3-on-rk809.patch
+can-j1939-fix-error-in-j1939-documentation.patch
+asoc-stm-prevent-potential-division-by-zero-in-stm32.patch
+asoc-stm-prevent-potential-division-by-zero-in-stm32.patch-9969
+proc-softirqs-replace-seq_printf-with-seq_put_decima.patch
+alsa-usb-audio-fix-yamaha-p-125-quirk-entry.patch
+ipmr-fix-access-to-mfc_cache_list-without-lock-held.patch
diff --git a/queue-5.10/soc-qcom-add-check-devm_kasprintf-returned-value.patch b/queue-5.10/soc-qcom-add-check-devm_kasprintf-returned-value.patch
new file mode 100644 (file)
index 0000000..75d6b49
--- /dev/null
@@ -0,0 +1,45 @@
+From 8ec4985eacf4b5152f2bbe899fe4bdfb759690e7 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sun, 29 Sep 2024 15:23:49 +0800
+Subject: soc: qcom: Add check devm_kasprintf() returned value
+
+From: Charles Han <hanchunchao@inspur.com>
+
+[ Upstream commit e694d2b5c58ba2d1e995d068707c8d966e7f5f2a ]
+
+devm_kasprintf() can return a NULL pointer on failure but this
+returned value in qcom_socinfo_probe() is not checked.
+
+Signed-off-by: Charles Han <hanchunchao@inspur.com>
+Link: https://lore.kernel.org/r/20240929072349.202520-1-hanchunchao@inspur.com
+Signed-off-by: Bjorn Andersson <andersson@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/soc/qcom/socinfo.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c
+index 60c82dcaa8d1d..7bb3543e42e59 100644
+--- a/drivers/soc/qcom/socinfo.c
++++ b/drivers/soc/qcom/socinfo.c
+@@ -507,10 +507,16 @@ static int qcom_socinfo_probe(struct platform_device *pdev)
+       qs->attr.revision = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%u.%u",
+                                          SOCINFO_MAJOR(le32_to_cpu(info->ver)),
+                                          SOCINFO_MINOR(le32_to_cpu(info->ver)));
+-      if (offsetof(struct socinfo, serial_num) <= item_size)
++      if (!qs->attr.soc_id || qs->attr.revision)
++              return -ENOMEM;
++
++      if (offsetof(struct socinfo, serial_num) <= item_size) {
+               qs->attr.serial_number = devm_kasprintf(&pdev->dev, GFP_KERNEL,
+                                                       "%u",
+                                                       le32_to_cpu(info->serial_num));
++              if (!qs->attr.serial_number)
++                      return -ENOMEM;
++      }
+       qs->soc_dev = soc_device_register(&qs->attr);
+       if (IS_ERR(qs->soc_dev))
+-- 
+2.43.0
+
diff --git a/queue-5.10/x86-amd_nb-fix-compile-testing-without-config_amd_nb.patch b/queue-5.10/x86-amd_nb-fix-compile-testing-without-config_amd_nb.patch
new file mode 100644 (file)
index 0000000..6e3b484
--- /dev/null
@@ -0,0 +1,53 @@
+From 18a0bfe43431092853dd9a09ef8613b9dfd8d5fe Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 29 Oct 2024 09:23:20 +0000
+Subject: x86/amd_nb: Fix compile-testing without CONFIG_AMD_NB
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+[ Upstream commit fce9642c765a18abd1db0339a7d832c29b68456a ]
+
+node_to_amd_nb() is defined to NULL in non-AMD configs:
+
+  drivers/platform/x86/amd/hsmp/plat.c: In function 'init_platform_device':
+  drivers/platform/x86/amd/hsmp/plat.c:165:68: error: dereferencing 'void *' pointer [-Werror]
+    165 |                 sock->root                      = node_to_amd_nb(i)->root;
+        |                                                                    ^~
+  drivers/platform/x86/amd/hsmp/plat.c:165:68: error: request for member 'root' in something not a structure or union
+
+Users of the interface who also allow COMPILE_TEST will cause the above build
+error so provide an inline stub to fix that.
+
+  [ bp: Massage commit message. ]
+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
+Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
+Link: https://lore.kernel.org/r/20241029092329.3857004-1-arnd@kernel.org
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/x86/include/asm/amd_nb.h | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/arch/x86/include/asm/amd_nb.h b/arch/x86/include/asm/amd_nb.h
+index 455066a06f607..d561f7866fa16 100644
+--- a/arch/x86/include/asm/amd_nb.h
++++ b/arch/x86/include/asm/amd_nb.h
+@@ -118,7 +118,10 @@ static inline bool amd_gart_present(void)
+ #define amd_nb_num(x)         0
+ #define amd_nb_has_feature(x) false
+-#define node_to_amd_nb(x)     NULL
++static inline struct amd_northbridge *node_to_amd_nb(int node)
++{
++      return NULL;
++}
+ #define amd_gart_present(x)   false
+ #endif
+-- 
+2.43.0
+