--- /dev/null
+From 54ae82efd9fea352fc288ea955827b799515f010 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 14 Jul 2025 12:01:54 +0100
+Subject: ALSA: hda/cs35l56: Workaround bad dev-index on Lenovo Yoga Book 9i
+ GenX
+
+From: Richard Fitzgerald <rf@opensource.cirrus.com>
+
+[ Upstream commit 40b1c2f9b299295ed0482e1fee6f46521e6e79e5 ]
+
+The Lenovo Yoga Book 9i GenX has the wrong values in the cirrus,dev-index
+_DSD property. Add a fixup for this model to ignore the property and
+hardcode the index from the I2C bus address.
+
+The error in the cirrus,dev-index property would prevent the second amp
+instance from probing. The component binding would never see all the
+required instances and so there would not be a binding between
+patch_realtek.c and the cs35l56 driver.
+
+Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
+Reported-by: Brian Howard <blhoward2@gmail.com>
+Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220228
+Link: https://patch.msgid.link/20250714110154.204740-1-rf@opensource.cirrus.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/pci/hda/cs35l56_hda.c | 110 +++++++++++++++++++++++++++---------
+ 1 file changed, 82 insertions(+), 28 deletions(-)
+
+diff --git a/sound/pci/hda/cs35l56_hda.c b/sound/pci/hda/cs35l56_hda.c
+index 235d22049aa9..c9c8ec8d2474 100644
+--- a/sound/pci/hda/cs35l56_hda.c
++++ b/sound/pci/hda/cs35l56_hda.c
+@@ -874,6 +874,52 @@ static int cs35l56_hda_system_resume(struct device *dev)
+ return 0;
+ }
+
++static int cs35l56_hda_fixup_yoga9(struct cs35l56_hda *cs35l56, int *bus_addr)
++{
++ /* The cirrus,dev-index property has the wrong values */
++ switch (*bus_addr) {
++ case 0x30:
++ cs35l56->index = 1;
++ return 0;
++ case 0x31:
++ cs35l56->index = 0;
++ return 0;
++ default:
++ /* There is a pseudo-address for broadcast to both amps - ignore it */
++ dev_dbg(cs35l56->base.dev, "Ignoring I2C address %#x\n", *bus_addr);
++ return 0;
++ }
++}
++
++static const struct {
++ const char *sub;
++ int (*fixup_fn)(struct cs35l56_hda *cs35l56, int *bus_addr);
++} cs35l56_hda_fixups[] = {
++ {
++ .sub = "17AA390B", /* Lenovo Yoga Book 9i GenX */
++ .fixup_fn = cs35l56_hda_fixup_yoga9,
++ },
++};
++
++static int cs35l56_hda_apply_platform_fixups(struct cs35l56_hda *cs35l56, const char *sub,
++ int *bus_addr)
++{
++ int i;
++
++ if (IS_ERR(sub))
++ return 0;
++
++ for (i = 0; i < ARRAY_SIZE(cs35l56_hda_fixups); i++) {
++ if (strcasecmp(cs35l56_hda_fixups[i].sub, sub) == 0) {
++ dev_dbg(cs35l56->base.dev, "Applying fixup for %s\n",
++ cs35l56_hda_fixups[i].sub);
++ return (cs35l56_hda_fixups[i].fixup_fn)(cs35l56, bus_addr);
++ }
++ }
++
++ return 0;
++}
++
+ static int cs35l56_hda_read_acpi(struct cs35l56_hda *cs35l56, int hid, int id)
+ {
+ u32 values[HDA_MAX_COMPONENTS];
+@@ -898,39 +944,47 @@ static int cs35l56_hda_read_acpi(struct cs35l56_hda *cs35l56, int hid, int id)
+ ACPI_COMPANION_SET(cs35l56->base.dev, adev);
+ }
+
+- property = "cirrus,dev-index";
+- ret = device_property_count_u32(cs35l56->base.dev, property);
+- if (ret <= 0)
+- goto err;
+-
+- if (ret > ARRAY_SIZE(values)) {
+- ret = -EINVAL;
+- goto err;
+- }
+- nval = ret;
++ /* Initialize things that could be overwritten by a fixup */
++ cs35l56->index = -1;
+
+- ret = device_property_read_u32_array(cs35l56->base.dev, property, values, nval);
++ sub = acpi_get_subsystem_id(ACPI_HANDLE(cs35l56->base.dev));
++ ret = cs35l56_hda_apply_platform_fixups(cs35l56, sub, &id);
+ if (ret)
+- goto err;
++ return ret;
+
+- cs35l56->index = -1;
+- for (i = 0; i < nval; i++) {
+- if (values[i] == id) {
+- cs35l56->index = i;
+- break;
+- }
+- }
+- /*
+- * It's not an error for the ID to be missing: for I2C there can be
+- * an alias address that is not a real device. So reject silently.
+- */
+ if (cs35l56->index == -1) {
+- dev_dbg(cs35l56->base.dev, "No index found in %s\n", property);
+- ret = -ENODEV;
+- goto err;
+- }
++ property = "cirrus,dev-index";
++ ret = device_property_count_u32(cs35l56->base.dev, property);
++ if (ret <= 0)
++ goto err;
+
+- sub = acpi_get_subsystem_id(ACPI_HANDLE(cs35l56->base.dev));
++ if (ret > ARRAY_SIZE(values)) {
++ ret = -EINVAL;
++ goto err;
++ }
++ nval = ret;
++
++ ret = device_property_read_u32_array(cs35l56->base.dev, property, values, nval);
++ if (ret)
++ goto err;
++
++ for (i = 0; i < nval; i++) {
++ if (values[i] == id) {
++ cs35l56->index = i;
++ break;
++ }
++ }
++
++ /*
++ * It's not an error for the ID to be missing: for I2C there can be
++ * an alias address that is not a real device. So reject silently.
++ */
++ if (cs35l56->index == -1) {
++ dev_dbg(cs35l56->base.dev, "No index found in %s\n", property);
++ ret = -ENODEV;
++ goto err;
++ }
++ }
+
+ if (IS_ERR(sub)) {
+ dev_info(cs35l56->base.dev,
+--
+2.39.5
+
--- /dev/null
+From 3d2c6299f5e95d9fb1f383d38383c673af8bbb92 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 14 Jul 2025 17:46:55 +0800
+Subject: ALSA: hda/realtek: Support mute LED for Yoga with ALC287
+
+From: Jackie Dong <xy-jackie@139.com>
+
+[ Upstream commit 4722727373533b53489b66d3436b50ac156f23bf ]
+
+Support mute LED on keyboard for Lenovo Yoga series products with
+Realtek ALC287 chipset.
+
+Tested on Lenovo Slim Pro 7 14APH8.
+
+[ slight comment cleanup by tiwai ]
+
+Signed-off-by: Jackie Dong <xy-jackie@139.com>
+Link: https://patch.msgid.link/20250714094655.4657-1-xy-jackie@139.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/pci/hda/patch_realtek.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index 3c93d2135717..bf36e84d260b 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -7497,6 +7497,9 @@ static void alc287_fixup_yoga9_14iap7_bass_spk_pin(struct hda_codec *codec,
+ };
+ struct alc_spec *spec = codec->spec;
+
++ /* Support Audio mute LED and Mic mute LED on keyboard */
++ hda_fixup_ideapad_acpi(codec, fix, action);
++
+ switch (action) {
+ case HDA_FIXUP_ACT_PRE_PROBE:
+ snd_hda_apply_pincfgs(codec, pincfgs);
+--
+2.39.5
+
--- /dev/null
+From fa559b60b2469cc708de3ae67c6d04f9af08b348 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 14 Jul 2025 23:14:24 -0400
+Subject: ASoC: amd: yc: Add DMI entries to support HP 15-fb1xxx
+
+From: Adam Queler <queler@gmail.com>
+
+[ Upstream commit 949ddec3728f3a793a13c1c9003028b9b159aefc ]
+
+This model requires an additional detection quirk to
+enable the internal microphone.
+
+Signed-off-by: Adam Queler <queler+k@gmail.com>
+Link: https://patch.msgid.link/20250715031434.222062-1-queler+k@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/amd/yc/acp6x-mach.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c
+index 42d123cb8b4c..4bde41663f42 100644
+--- a/sound/soc/amd/yc/acp6x-mach.c
++++ b/sound/soc/amd/yc/acp6x-mach.c
+@@ -528,6 +528,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
+ DMI_MATCH(DMI_PRODUCT_NAME, "OMEN by HP Gaming Laptop 16z-n000"),
+ }
+ },
++ {
++ .driver_data = &acp6x_card,
++ .matches = {
++ DMI_MATCH(DMI_BOARD_VENDOR, "HP"),
++ DMI_MATCH(DMI_PRODUCT_NAME, "Victus by HP Gaming Laptop 15-fb1xxx"),
++ }
++ },
+ {
+ .driver_data = &acp6x_card,
+ .matches = {
+--
+2.39.5
+
--- /dev/null
+From c83aaa0f02734e32edb49e3c954c267e1a155db4 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 8 Jul 2025 01:07:30 +0300
+Subject: ASoC: amd: yc: add DMI quirk for ASUS M6501RM
+
+From: Alexandru Andries <alex.andries.aa@gmail.com>
+
+[ Upstream commit 6f80be548588429100eb1f5e25dc2a714d583ffe ]
+
+add DMI entry for ASUS Vivobook PRO 15X (M6501RM)
+to make the internal microphone function
+
+Signed-off-by: Alexandru Andries <alex.andries.aa@gmail.com>
+Link: https://patch.msgid.link/20250707220730.361290-1-alex.andries.aa@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/amd/yc/acp6x-mach.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c
+index 4bde41663f42..e362c2865ec1 100644
+--- a/sound/soc/amd/yc/acp6x-mach.c
++++ b/sound/soc/amd/yc/acp6x-mach.c
+@@ -409,6 +409,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
+ DMI_MATCH(DMI_PRODUCT_NAME, "M6500RC"),
+ }
+ },
++ {
++ .driver_data = &acp6x_card,
++ .matches = {
++ DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
++ DMI_MATCH(DMI_PRODUCT_NAME, "M6501RM"),
++ }
++ },
+ {
+ .driver_data = &acp6x_card,
+ .matches = {
+--
+2.39.5
+
--- /dev/null
+From fb2b0f05803a6fc3a815c39a95061c85c04bbeef Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 15 Jul 2025 13:20:38 -0500
+Subject: ASoC: amd: yc: Add DMI quirk for HP Laptop 17 cp-2033dx
+
+From: Lane Odenbach <laodenbach@gmail.com>
+
+[ Upstream commit 7bab1bd9fdf15b9fa7e6a4b0151deab93df3c80d ]
+
+This fixes the internal microphone in the stated device
+
+Signed-off-by: Lane Odenbach <laodenbach@gmail.com>
+Link: https://patch.msgid.link/20250715182038.10048-1-laodenbach@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/amd/yc/acp6x-mach.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c
+index 1689b6b22598..42d123cb8b4c 100644
+--- a/sound/soc/amd/yc/acp6x-mach.c
++++ b/sound/soc/amd/yc/acp6x-mach.c
+@@ -577,6 +577,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
+ DMI_MATCH(DMI_BOARD_NAME, "8A7F"),
+ }
+ },
++ {
++ .driver_data = &acp6x_card,
++ .matches = {
++ DMI_MATCH(DMI_BOARD_VENDOR, "HP"),
++ DMI_MATCH(DMI_BOARD_NAME, "8A81"),
++ }
++ },
+ {
+ .driver_data = &acp6x_card,
+ .matches = {
+--
+2.39.5
+
--- /dev/null
+From 9b9fc896c7ea6c090124ddf979b5eb246be4f4de Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 9 Jul 2025 16:56:07 +0200
+Subject: ASoC: Intel: fix SND_SOC_SOF dependencies
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+[ Upstream commit e837b59f8b411b5baf5e3de7a5aea10b1c545a63 ]
+
+It is currently possible to configure a kernel with all Intel SoC
+configs as loadable modules, but the board config as built-in. This
+causes a link failure in the reference to the snd_soc_sof.ko module:
+
+x86_64-linux-ld: sound/soc/intel/boards/sof_rt5682.o: in function `sof_rt5682_hw_params':
+sof_rt5682.c:(.text+0x1f9): undefined reference to `sof_dai_get_mclk'
+x86_64-linux-ld: sof_rt5682.c:(.text+0x234): undefined reference to `sof_dai_get_bclk'
+x86_64-linux-ld: sound/soc/intel/boards/sof_rt5682.o: in function `sof_rt5682_codec_init':
+sof_rt5682.c:(.text+0x3e0): undefined reference to `sof_dai_get_mclk'
+x86_64-linux-ld: sound/soc/intel/boards/sof_cs42l42.o: in function `sof_cs42l42_hw_params':
+sof_cs42l42.c:(.text+0x2a): undefined reference to `sof_dai_get_bclk'
+x86_64-linux-ld: sound/soc/intel/boards/sof_nau8825.o: in function `sof_nau8825_hw_params':
+sof_nau8825.c:(.text+0x7f): undefined reference to `sof_dai_get_bclk'
+x86_64-linux-ld: sound/soc/intel/boards/sof_da7219.o: in function `da7219_codec_init':
+sof_da7219.c:(.text+0xbf): undefined reference to `sof_dai_get_mclk'
+x86_64-linux-ld: sound/soc/intel/boards/sof_maxim_common.o: in function `max_98373_hw_params':
+sof_maxim_common.c:(.text+0x6f9): undefined reference to `sof_dai_get_tdm_slots'
+x86_64-linux-ld: sound/soc/intel/boards/sof_realtek_common.o: in function `rt1015_hw_params':
+sof_realtek_common.c:(.text+0x54c): undefined reference to `sof_dai_get_bclk'
+x86_64-linux-ld: sound/soc/intel/boards/sof_realtek_common.o: in function `rt1308_hw_params':
+sof_realtek_common.c:(.text+0x702): undefined reference to `sof_dai_get_mclk'
+x86_64-linux-ld: sound/soc/intel/boards/sof_cirrus_common.o: in function `cs35l41_hw_params':
+sof_cirrus_common.c:(.text+0x2f): undefined reference to `sof_dai_get_bclk'
+
+Add an optional dependency on SND_SOC_SOF_INTEL_COMMON, to ensure that whenever
+the SOF support is in a loadable module, none of the board code can be built-in.
+
+This may be be a little heavy-handed, but I also don't see a reason why one would
+want the boards to be built-in but not the SoC, so it shouldn't actually cause
+any usability problems.
+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Link: https://patch.msgid.link/20250709145626.64125-1-arnd@kernel.org
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/intel/boards/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
+index 4db7931ba561..4a9324232936 100644
+--- a/sound/soc/intel/boards/Kconfig
++++ b/sound/soc/intel/boards/Kconfig
+@@ -11,7 +11,7 @@ menuconfig SND_SOC_INTEL_MACH
+ kernel: saying N will just cause the configurator to skip all
+ the questions about Intel ASoC machine drivers.
+
+-if SND_SOC_INTEL_MACH
++if SND_SOC_INTEL_MACH && (SND_SOC_SOF_INTEL_COMMON || !SND_SOC_SOF_INTEL_COMMON)
+
+ config SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES
+ bool "Use more user friendly long card names"
+--
+2.39.5
+
--- /dev/null
+From 597f04f1b5d0f8f06fe3fe33c32623927c804b33 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 15 Jul 2025 11:50:53 +0200
+Subject: drm/radeon: Do not hold console lock while suspending clients
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Thomas Zimmermann <tzimmermann@suse.de>
+
+[ Upstream commit 5dd0b96118e09a3725e3f83543e133b1fd02c18c ]
+
+The radeon driver holds the console lock while suspending in-kernel
+DRM clients. This creates a circular dependency with the client-list
+mutex, which is supposed to be acquired first. Reported when combining
+radeon with another DRM driver.
+
+Therefore, do not take the console lock in radeon, but let the fbdev
+DRM client acquire the lock when needed. This is what all other DRM
+drivers so.
+
+Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
+Reported-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
+Closes: https://lore.kernel.org/dri-devel/0a087cfd-bd4c-48f1-aa2f-4a3b12593935@oss.qualcomm.com/
+Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+(cherry picked from commit 612ec7c69d04cb58beb1332c2806da9f2f47a3ae)
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/radeon/radeon_device.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
+index bbd39348a7ab..6f50cfdfe5a2 100644
+--- a/drivers/gpu/drm/radeon/radeon_device.c
++++ b/drivers/gpu/drm/radeon/radeon_device.c
+@@ -1635,11 +1635,9 @@ int radeon_suspend_kms(struct drm_device *dev, bool suspend,
+ pci_set_power_state(pdev, PCI_D3hot);
+ }
+
+- if (notify_clients) {
+- console_lock();
+- drm_client_dev_suspend(dev, true);
+- console_unlock();
+- }
++ if (notify_clients)
++ drm_client_dev_suspend(dev, false);
++
+ return 0;
+ }
+
+--
+2.39.5
+
--- /dev/null
+From e7d4eeead59b2a9289a453a9fd7a14cb0bcaa7fb Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 20 Jun 2025 19:31:24 +0200
+Subject: ethernet: intel: fix building with large NR_CPUS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+[ Upstream commit 24171a5a4a952c26568ff0d2a0bc8c4708a95e1d ]
+
+With large values of CONFIG_NR_CPUS, three Intel ethernet drivers fail to
+compile like:
+
+In function ‘i40e_free_q_vector’,
+ inlined from ‘i40e_vsi_alloc_q_vectors’ at drivers/net/ethernet/intel/i40e/i40e_main.c:12112:3:
+ 571 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
+include/linux/rcupdate.h:1084:17: note: in expansion of macro ‘BUILD_BUG_ON’
+ 1084 | BUILD_BUG_ON(offsetof(typeof(*(ptr)), rhf) >= 4096); \
+drivers/net/ethernet/intel/i40e/i40e_main.c:5113:9: note: in expansion of macro ‘kfree_rcu’
+ 5113 | kfree_rcu(q_vector, rcu);
+ | ^~~~~~~~~
+
+The problem is that the 'rcu' member in 'q_vector' is too far from the start
+of the structure. Move this member before the CPU mask instead, in all three
+drivers.
+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Acked-by: David S. Miller <davem@davemloft.net>
+Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
+Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
+Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
+Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/ethernet/intel/fm10k/fm10k.h | 3 ++-
+ drivers/net/ethernet/intel/i40e/i40e.h | 2 +-
+ drivers/net/ethernet/intel/ixgbe/ixgbe.h | 3 ++-
+ 3 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/ethernet/intel/fm10k/fm10k.h b/drivers/net/ethernet/intel/fm10k/fm10k.h
+index 6119a4108838..65a2816142d9 100644
+--- a/drivers/net/ethernet/intel/fm10k/fm10k.h
++++ b/drivers/net/ethernet/intel/fm10k/fm10k.h
+@@ -189,13 +189,14 @@ struct fm10k_q_vector {
+ struct fm10k_ring_container rx, tx;
+
+ struct napi_struct napi;
++ struct rcu_head rcu; /* to avoid race with update stats on free */
++
+ cpumask_t affinity_mask;
+ char name[IFNAMSIZ + 9];
+
+ #ifdef CONFIG_DEBUG_FS
+ struct dentry *dbg_q_vector;
+ #endif /* CONFIG_DEBUG_FS */
+- struct rcu_head rcu; /* to avoid race with update stats on free */
+
+ /* for dynamic allocation of rings associated with this q_vector */
+ struct fm10k_ring ring[] ____cacheline_internodealigned_in_smp;
+diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
+index c67963bfe14e..7c600d6e66ba 100644
+--- a/drivers/net/ethernet/intel/i40e/i40e.h
++++ b/drivers/net/ethernet/intel/i40e/i40e.h
+@@ -945,6 +945,7 @@ struct i40e_q_vector {
+ u16 reg_idx; /* register index of the interrupt */
+
+ struct napi_struct napi;
++ struct rcu_head rcu; /* to avoid race with update stats on free */
+
+ struct i40e_ring_container rx;
+ struct i40e_ring_container tx;
+@@ -955,7 +956,6 @@ struct i40e_q_vector {
+ cpumask_t affinity_mask;
+ struct irq_affinity_notify affinity_notify;
+
+- struct rcu_head rcu; /* to avoid race with update stats on free */
+ char name[I40E_INT_NAME_STR_LEN];
+ bool arm_wb_state;
+ bool in_busy_poll;
+diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
+index e6a380d4929b..fb43fba5daa1 100644
+--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h
++++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
+@@ -505,9 +505,10 @@ struct ixgbe_q_vector {
+ struct ixgbe_ring_container rx, tx;
+
+ struct napi_struct napi;
++ struct rcu_head rcu; /* to avoid race with update stats on free */
++
+ cpumask_t affinity_mask;
+ int numa_node;
+- struct rcu_head rcu; /* to avoid race with update stats on free */
+ char name[IFNAMSIZ + 9];
+
+ /* for dynamic allocation of rings associated with this q_vector */
+--
+2.39.5
+
--- /dev/null
+drm-radeon-do-not-hold-console-lock-while-suspending.patch
+asoc-amd-yc-add-dmi-quirk-for-hp-laptop-17-cp-2033dx.patch
+ethernet-intel-fix-building-with-large-nr_cpus.patch
+asoc-amd-yc-add-dmi-entries-to-support-hp-15-fb1xxx.patch
+alsa-hda-cs35l56-workaround-bad-dev-index-on-lenovo-.patch
+alsa-hda-realtek-support-mute-led-for-yoga-with-alc2.patch
+asoc-intel-fix-snd_soc_sof-dependencies.patch
+asoc-amd-yc-add-dmi-quirk-for-asus-m6501rm.patch