From: Greg Kroah-Hartman Date: Mon, 19 Dec 2022 10:19:12 +0000 (+0100) Subject: 6.0-stable patches X-Git-Tag: v5.4.228~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0d10b0fb184715d204488144480da1868ebcb63b;p=thirdparty%2Fkernel%2Fstable-queue.git 6.0-stable patches added patches: asoc-ops-correct-bounds-check-for-second-channel-on-sx-controls.patch net-fec-properly-guard-irq-coalesce-setup.patch --- diff --git a/queue-6.0/asoc-ops-correct-bounds-check-for-second-channel-on-sx-controls.patch b/queue-6.0/asoc-ops-correct-bounds-check-for-second-channel-on-sx-controls.patch new file mode 100644 index 00000000000..bcbe631c556 --- /dev/null +++ b/queue-6.0/asoc-ops-correct-bounds-check-for-second-channel-on-sx-controls.patch @@ -0,0 +1,45 @@ +From f33bcc506050f89433a52a3052054d4ebd37b1c1 Mon Sep 17 00:00:00 2001 +From: Charles Keepax +Date: Fri, 25 Nov 2022 16:23:47 +0000 +Subject: ASoC: ops: Correct bounds check for second channel on SX controls + +From: Charles Keepax + +commit f33bcc506050f89433a52a3052054d4ebd37b1c1 upstream. + +Currently the check against the max value for the control is being +applied after the value has had the minimum applied and been masked. But +the max value simply indicates the number of volume levels on an SX +control, and as such should just be applied on the raw value. + +Fixes: 97eea946b939 ("ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()") +Signed-off-by: Charles Keepax +Link: https://lore.kernel.org/r/20221125162348.1288005-1-ckeepax@opensource.cirrus.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + sound/soc/soc-ops.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +--- a/sound/soc/soc-ops.c ++++ b/sound/soc/soc-ops.c +@@ -464,16 +464,15 @@ int snd_soc_put_volsw_sx(struct snd_kcon + ret = err; + + if (snd_soc_volsw_is_stereo(mc)) { +- unsigned int val2; +- +- val_mask = mask << rshift; +- val2 = (ucontrol->value.integer.value[1] + min) & mask; ++ unsigned int val2 = ucontrol->value.integer.value[1]; + + if (mc->platform_max && val2 > mc->platform_max) + return -EINVAL; + if (val2 > max) + return -EINVAL; + ++ val_mask = mask << rshift; ++ val2 = (val2 + min) & mask; + val2 = val2 << rshift; + + err = snd_soc_component_update_bits(component, reg2, val_mask, diff --git a/queue-6.0/net-fec-properly-guard-irq-coalesce-setup.patch b/queue-6.0/net-fec-properly-guard-irq-coalesce-setup.patch new file mode 100644 index 00000000000..085fe1f8612 --- /dev/null +++ b/queue-6.0/net-fec-properly-guard-irq-coalesce-setup.patch @@ -0,0 +1,41 @@ +From 7e6303567ce3ca506e4a2704e4baa86f1d8bde02 Mon Sep 17 00:00:00 2001 +From: Rasmus Villemoes +Date: Mon, 5 Dec 2022 21:46:04 +0100 +Subject: net: fec: properly guard irq coalesce setup + +From: Rasmus Villemoes + +commit 7e6303567ce3ca506e4a2704e4baa86f1d8bde02 upstream. + +Prior to the Fixes: commit, the initialization code went through the +same fec_enet_set_coalesce() function as used by ethtool, and that +function correctly checks whether the current variant has support for +irq coalescing. + +Now that the initialization code instead calls fec_enet_itr_coal_set() +directly, that call needs to be guarded by a check for the +FEC_QUIRK_HAS_COALESCE bit. + +Fixes: df727d4547de (net: fec: don't reset irq coalesce settings to defaults on "ip link up") +Reported-by: Greg Ungerer +Signed-off-by: Rasmus Villemoes +Reviewed-by: Florian Fainelli +Link: https://lore.kernel.org/r/20221205204604.869853-1-linux@rasmusvillemoes.dk +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/freescale/fec_main.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/net/ethernet/freescale/fec_main.c ++++ b/drivers/net/ethernet/freescale/fec_main.c +@@ -1164,7 +1164,8 @@ fec_restart(struct net_device *ndev) + writel(0, fep->hwp + FEC_IMASK); + + /* Init the interrupt coalescing */ +- fec_enet_itr_coal_set(ndev); ++ if (fep->quirks & FEC_QUIRK_HAS_COALESCE) ++ fec_enet_itr_coal_set(ndev); + } + + static void fec_enet_stop_mode(struct fec_enet_private *fep, bool enabled) diff --git a/queue-6.0/series b/queue-6.0/series index 22f60ee75c3..b06b267246e 100644 --- a/queue-6.0/series +++ b/queue-6.0/series @@ -14,3 +14,5 @@ net-fec-don-t-reset-irq-coalesce-settings-to-default.patch asoc-cs42l51-correct-pga-volume-minimum-value.patch perf-fix-perf_pending_task-uaf.patch nvme-pci-clear-the-prp2-field-when-not-used.patch +asoc-ops-correct-bounds-check-for-second-channel-on-sx-controls.patch +net-fec-properly-guard-irq-coalesce-setup.patch