--- /dev/null
+From f33bcc506050f89433a52a3052054d4ebd37b1c1 Mon Sep 17 00:00:00 2001
+From: Charles Keepax <ckeepax@opensource.cirrus.com>
+Date: Fri, 25 Nov 2022 16:23:47 +0000
+Subject: ASoC: ops: Correct bounds check for second channel on SX controls
+
+From: Charles Keepax <ckeepax@opensource.cirrus.com>
+
+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 <ckeepax@opensource.cirrus.com>
+Link: https://lore.kernel.org/r/20221125162348.1288005-1-ckeepax@opensource.cirrus.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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
+@@ -447,16 +447,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,
--- /dev/null
+From 7e6303567ce3ca506e4a2704e4baa86f1d8bde02 Mon Sep 17 00:00:00 2001
+From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
+Date: Mon, 5 Dec 2022 21:46:04 +0100
+Subject: net: fec: properly guard irq coalesce setup
+
+From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
+
+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 <gregungerer@westnet.com.au>
+Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Link: https://lore.kernel.org/r/20221205204604.869853-1-linux@rasmusvillemoes.dk
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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
+@@ -1163,7 +1163,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)
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