[openwrt/openwrt] kernel: bump 6.6 to 6.6.95

LEDE Commits lede-commits at lists.infradead.org
Sun Jul 6 05:52:25 PDT 2025


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/f754de7e3018f747f69538e7a70da0466c5573c1

commit f754de7e3018f747f69538e7a70da0466c5573c1
Author: John Audia <therealgraysky at proton.me>
AuthorDate: Fri Jun 27 07:04:12 2025 -0400

    kernel: bump 6.6 to 6.6.95
    
    Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.95
    
    Removed upstreamed:
     backport-6.6/201-v6.16-mips-Add-std-flag-specified.patch[1]
     mvebu/patches-6.6/0004-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[2]
     mvebu/patches-6.6/0005-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[3]
     mvebu/patches-6.6/0006-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[4]
     mvebu/patches-6.6/0007-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[5]
     gemini/patches-6.6/0005-net-ethernet-cortina-Use-TSO-also-on-common-TCP.patch [6]
    
    Manually refreshed:
     bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
     bcm27xx/patches-6.6/950-0678-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch [7]
    
    All other patches automatically rebased.
    
    1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=231f6a1de15b3f62eb8d6163a8b1bc5935025c69
    2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=ae48bc0b8be8786fd0ceab4b5a95c09b5aa93816
    3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=8a15a5438c5816a1003b88ce20f25ccc92909ee7
    4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=02c966a8869becb29282403540c88ba33e19c347
    5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=14a26f6692062a529b612420adb6c0b9290b25d3
    6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=a37888a435b0737128d2d9c6f67b8d608f83df7a
    7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=0909b2b49c4546a7a08c80f53d93736b63270827
    
    Build system: x86/64
    Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
    Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
    
    Signed-off-by: John Audia <therealgraysky at proton.me>
    Link: https://github.com/openwrt/openwrt/pull/19248
    (cherry picked from commit 18319664064b6d4d7a923175b85d2faae2f44418)
    Co-authored-by: Goetz Goerisch <ggoerisch at gmail.com>
    Co-authored-by: Hauke Mehrtens <hauke at hauke-m.de>
    Signed-off-by: Goetz Goerisch <ggoerisch at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/19265
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-6.6                                 |  4 +-
 .../patches-6.6/900-unaligned_access_hacks.patch   |  2 +-
 ...950-0092-MMC-added-alternative-MMC-driver.patch |  6 +-
 ...-0518-net-macb-Also-set-DMA-coherent-mask.patch |  6 +-
 ...-client-to-request-a-particular-dev-fbN-n.patch | 21 +++--
 ...s-mmc-add-SD-support-for-Command-Queueing.patch |  6 +-
 ...-preallocate-a-block-for-SD-extension-reg.patch | 22 ++---
 ...-export-SD-extension-register-read-write-.patch | 22 ++---
 ...-be-more-cautious-when-manipulating-Comma.patch |  2 +-
 ...-add-debugfs-entries-for-SD-extension-reg.patch |  6 +-
 ...-handle-1024-byte-SD-General-Info-lengths.patch |  4 +-
 ...t-posted-write-counts-for-SD-cards-in-CQ-.patch |  4 +-
 ...estrict-posted-write-counts-for-SD-cards-.patch |  4 +-
 ...-disable-write-caching-on-Samsung-2023-mo.patch |  8 +-
 ...disable-cache-on-more-known-bad-Sandisk-c.patch |  2 +-
 ...add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch |  2 +-
 ...er-card-CQ-support-based-on-an-allow-list.patch | 10 +--
 ..._QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch |  4 +-
 ...nstream-DT-property-to-modify-CQE-and-or-.patch |  2 +-
 ...hernet-cortina-Use-TSO-also-on-common-TCP.patch | 95 ----------------------
 ...thernet-cortina-Implement-.set_pauseparam.patch |  4 +-
 ...e-backlog-NAPI-to-clean-up-the-defer_list.patch |  2 +-
 ...0-net-create-a-dummy-net_device-allocator.patch |  2 +-
 ...t-Add-a-separate-timeout-parameter-for-wa.patch |  4 +-
 ...t-Add-mhi_power_down_keep_dev-API-to-supp.patch |  6 +-
 .../hack-6.6/800-GPIO-add-named-gpio-exports.patch |  2 +-
 .../linux/generic/hack-6.6/902-debloat_proc.patch  |  2 +-
 .../generic/pending-6.6/532-jffs2_eofdetect.patch  |  2 +-
 ...ada-37xx-propagate-error-from-armada_37xx.patch |  2 +-
 ...ada-37xx-propagate-error-from-armada_37xx.patch | 36 --------
 ...ada-37xx-propagate-error-from-armada_37xx.patch | 42 ----------
 ...ada-37xx-propagate-error-from-armada_37xx.patch | 35 --------
 ...ada-37xx-propagate-error-from-armada_37xx.patch | 31 -------
 .../810-uvc-add-iPassion-iP2970-support.patch      |  2 +-
 34 files changed, 86 insertions(+), 318 deletions(-)

diff --git a/include/kernel-6.6 b/include/kernel-6.6
index a2e954d002..d2d952e254 100644
--- a/include/kernel-6.6
+++ b/include/kernel-6.6
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .94
-LINUX_KERNEL_HASH-6.6.94 = 713981ea26b20b476ba4ce880b76b21294576788d5db1c2188b167bcb06ecc56
+LINUX_VERSION-6.6 = .95
+LINUX_KERNEL_HASH-6.6.95 = 18640ae9a2c952f8f8868324378df1a9e138ad29e6b93a9c38155764ea67ea85
diff --git a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
index 92c8cd90d1..9168d5e973 100644
--- a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
@@ -751,7 +751,7 @@ SVN-Revision: 35130
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -4276,14 +4276,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4283,14 +4283,16 @@ static bool tcp_parse_aligned_timestamp(
  {
  	const __be32 *ptr = (const __be32 *)(th + 1);
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
index a0b5d2fd2a..e983d5295b 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
@@ -344,7 +344,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  }
 --- a/drivers/mmc/core/quirks.h
 +++ b/drivers/mmc/core/quirks.h
-@@ -143,6 +143,14 @@ static const struct mmc_fixup __maybe_un
+@@ -153,6 +153,14 @@ static const struct mmc_fixup __maybe_un
  	MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
  		  MMC_QUIRK_BROKEN_SD_DISCARD),
  
@@ -2013,10 +2013,10 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  		sdhci_dumpregs(host);
 --- a/include/linux/mmc/card.h
 +++ b/include/linux/mmc/card.h
-@@ -297,6 +297,7 @@ struct mmc_card {
- #define MMC_QUIRK_BROKEN_SD_CACHE	(1<<15)	/* Disable broken SD cache support */
+@@ -298,6 +298,7 @@ struct mmc_card {
  #define MMC_QUIRK_BROKEN_CACHE_FLUSH	(1<<16)	/* Don't flush cache until the write has occurred */
  #define MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY	(1<<17) /* Disable broken SD poweroff notify support */
+ #define MMC_QUIRK_NO_UHS_DDR50_TUNING	(1<<18) /* Disable DDR50 tuning */
 +#define MMC_QUIRK_ERASE_BROKEN	(1<<31)		/* Skip erase */
  
  	bool			written_flag;	/* Indicates eMMC has been written since power on */
diff --git a/target/linux/bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch b/target/linux/bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch
index 31a173a2e0..9abdb37960 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch
@@ -367,7 +367,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	spin_lock_init(&bp->lock);
  	spin_lock_init(&bp->stats_lock);
  
-@@ -5118,6 +5237,21 @@ static int macb_probe(struct platform_de
+@@ -5122,6 +5241,21 @@ static int macb_probe(struct platform_de
  	else
  		bp->phy_interface = interface;
  
@@ -389,7 +389,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	/* IP specific init */
  	err = init(pdev);
  	if (err)
-@@ -5194,6 +5328,19 @@ static int macb_remove(struct platform_d
+@@ -5198,6 +5332,19 @@ static int macb_remove(struct platform_d
  	return 0;
  }
  
@@ -409,7 +409,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  static int __maybe_unused macb_suspend(struct device *dev)
  {
  	struct net_device *netdev = dev_get_drvdata(dev);
-@@ -5408,6 +5555,7 @@ static const struct dev_pm_ops macb_pm_o
+@@ -5412,6 +5559,7 @@ static const struct dev_pm_ops macb_pm_o
  static struct platform_driver macb_driver = {
  	.probe		= macb_probe,
  	.remove		= macb_remove,
diff --git a/target/linux/bcm27xx/patches-6.6/950-0678-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch b/target/linux/bcm27xx/patches-6.6/950-0678-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch
index ee15b7969c..fa382806f5 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0678-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0678-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch
@@ -23,33 +23,40 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  #define for_each_registered_fb(i)		\
  	for (i = 0; i < FB_MAX; i++)		\
  		if (!registered_fb[i]) {} else
-@@ -938,10 +939,12 @@ static int do_register_framebuffer(struc
+@@ -939,9 +940,12 @@ static int do_register_framebuffer(struc
+ 	if (num_registered_fb == FB_MAX)
  		return -ENXIO;
  
- 	num_registered_fb++;
 -	for (i = 0 ; i < FB_MAX; i++)
 -		if (!registered_fb[i])
 -			break;
--	fb_info->node = i;
 +	if (!fb_info->custom_fb_num || fb_info->node >= FB_MAX || registered_fb[fb_info->node]) {
 +		for (i = min_dynamic_fb ; i < FB_MAX; i++)
 +			if (!registered_fb[i])
 +				break;
 +		fb_info->node = i;
 +	}
+ 
+ 	if (!fb_info->modelist.prev || !fb_info->modelist.next)
+ 		INIT_LIST_HEAD(&fb_info->modelist);
+@@ -951,7 +955,6 @@ static int do_register_framebuffer(struc
+ 	if (err < 0)
+ 		return err;
+ 
+-	fb_info->node = i;
  	refcount_set(&fb_info->count, 1);
  	mutex_init(&fb_info->lock);
  	mutex_init(&fb_info->mm_lock);
-@@ -976,7 +979,7 @@ static int do_register_framebuffer(struc
+@@ -982,7 +985,7 @@ static int do_register_framebuffer(struc
+ 		pm_vt_switch_required(fb_info->device, true);
  
- 	fb_var_to_videomode(&mode, &fb_info->var);
- 	fb_add_videomode(&mode, &fb_info->modelist);
+ 	num_registered_fb++;
 -	registered_fb[i] = fb_info;
 +	registered_fb[fb_info->node] = fb_info;
  
  #ifdef CONFIG_GUMSTIX_AM200EPD
  	{
-@@ -1037,6 +1040,12 @@ static void do_unregister_framebuffer(st
+@@ -1043,6 +1046,12 @@ static void do_unregister_framebuffer(st
  	put_fb_info(fb_info);
  }
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0980-drivers-mmc-add-SD-support-for-Command-Queueing.patch b/target/linux/bcm27xx/patches-6.6/950-0980-drivers-mmc-add-SD-support-for-Command-Queueing.patch
index 14eb62cfac..c7c227e8af 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0980-drivers-mmc-add-SD-support-for-Command-Queueing.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0980-drivers-mmc-add-SD-support-for-Command-Queueing.patch
@@ -91,7 +91,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	cmd.flags       &= ~MMC_RSP_CRC; /* Ignore CRC */
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1016,8 +1016,8 @@ static bool mmc_sd_card_using_v18(struct
+@@ -1032,8 +1032,8 @@ static bool mmc_sd_card_using_v18(struct
  	       (SD_MODE_UHS_SDR50 | SD_MODE_UHS_SDR104 | SD_MODE_UHS_DDR50);
  }
  
@@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  {
  	struct mmc_host *host = card->host;
  	struct mmc_request mrq = {};
-@@ -1175,8 +1175,14 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1191,8 +1191,14 @@ static int sd_parse_ext_reg_perf(struct
  		card->ext_perf.feature_support |= SD_EXT_PERF_CACHE;
  
  	/* Command queue support indicated via queue depth bits (0 to 4). */
@@ -118,7 +118,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
  	card->ext_perf.fno = fno;
  	card->ext_perf.page = page;
-@@ -1563,13 +1569,41 @@ cont:
+@@ -1579,13 +1585,41 @@ cont:
  			goto free_card;
  	}
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0983-drivers-mmc-preallocate-a-block-for-SD-extension-reg.patch b/target/linux/bcm27xx/patches-6.6/950-0983-drivers-mmc-preallocate-a-block-for-SD-extension-reg.patch
index 2d1d317891..c95bd1fc55 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0983-drivers-mmc-preallocate-a-block-for-SD-extension-reg.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0983-drivers-mmc-preallocate-a-block-for-SD-extension-reg.patch
@@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	kfree(card);
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1026,9 +1026,8 @@ int sd_write_ext_reg(struct mmc_card *ca
+@@ -1042,9 +1042,8 @@ int sd_write_ext_reg(struct mmc_card *ca
  	struct scatterlist sg;
  	u8 *reg_buf;
  
@@ -42,7 +42,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
  	mrq.cmd = &cmd;
  	mrq.data = &data;
-@@ -1060,8 +1059,6 @@ int sd_write_ext_reg(struct mmc_card *ca
+@@ -1076,8 +1075,6 @@ int sd_write_ext_reg(struct mmc_card *ca
  	mmc_set_data_timeout(&data, card);
  	mmc_wait_for_req(host, &mrq);
  
@@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	/*
  	 * Note that, the SD card is allowed to signal busy on DAT0 up to 1s
  	 * after the CMD49. Although, let's leave this to be managed by the
-@@ -1102,9 +1099,7 @@ static int sd_parse_ext_reg_power(struct
+@@ -1118,9 +1115,7 @@ static int sd_parse_ext_reg_power(struct
  	int err;
  	u8 *reg_buf;
  
@@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
  	/* Read the extension register for power management function. */
  	err = sd_read_ext_reg(card, fno, page, offset, 512, reg_buf);
-@@ -1134,7 +1129,6 @@ static int sd_parse_ext_reg_power(struct
+@@ -1150,7 +1145,6 @@ static int sd_parse_ext_reg_power(struct
  	card->ext_power.offset = offset;
  
  out:
@@ -70,7 +70,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	return err;
  }
  
-@@ -1144,9 +1138,7 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1160,9 +1154,7 @@ static int sd_parse_ext_reg_perf(struct
  	int err;
  	u8 *reg_buf;
  
@@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
  	err = sd_read_ext_reg(card, fno, page, offset, 512, reg_buf);
  	if (err) {
-@@ -1189,7 +1181,6 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1205,7 +1197,6 @@ static int sd_parse_ext_reg_perf(struct
  	card->ext_perf.offset = offset;
  
  out:
@@ -89,7 +89,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	return err;
  }
  
-@@ -1260,6 +1251,12 @@ static int sd_read_ext_regs(struct mmc_c
+@@ -1276,6 +1267,12 @@ static int sd_read_ext_regs(struct mmc_c
  	if (!gen_info_buf)
  		return -ENOMEM;
  
@@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	/*
  	 * Read 512 bytes of general info, which is found at function number 0,
  	 * at page 0 and with no offset.
-@@ -1326,9 +1323,7 @@ static int sd_flush_cache(struct mmc_hos
+@@ -1342,9 +1339,7 @@ static int sd_flush_cache(struct mmc_hos
  	if (!sd_cache_enabled(host))
  		return 0;
  
@@ -113,7 +113,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
  	/*
  	 * Set Flush Cache at bit 0 in the performance enhancement register at
-@@ -1364,21 +1359,15 @@ static int sd_flush_cache(struct mmc_hos
+@@ -1380,21 +1375,15 @@ static int sd_flush_cache(struct mmc_hos
  	if (reg_buf[0] & BIT(0))
  		err = -ETIMEDOUT;
  out:
@@ -135,7 +135,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	/*
  	 * Set Cache Enable at bit 0 in the performance enhancement register at
  	 * 260 bytes offset.
-@@ -1397,7 +1386,6 @@ static int sd_enable_cache(struct mmc_ca
+@@ -1413,7 +1402,6 @@ static int sd_enable_cache(struct mmc_ca
  		card->ext_perf.feature_enabled |= SD_EXT_PERF_CACHE;
  
  out:
@@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
 --- a/include/linux/mmc/card.h
 +++ b/include/linux/mmc/card.h
-@@ -321,6 +321,7 @@ struct mmc_card {
+@@ -322,6 +322,7 @@ struct mmc_card {
  	struct sd_switch_caps	sw_caps;	/* switch (CMD6) caps */
  	struct sd_ext_reg	ext_power;	/* SD extension reg for PM */
  	struct sd_ext_reg	ext_perf;	/* SD extension reg for PERF */
diff --git a/target/linux/bcm27xx/patches-6.6/950-0994-drivers-mmc-export-SD-extension-register-read-write-.patch b/target/linux/bcm27xx/patches-6.6/950-0994-drivers-mmc-export-SD-extension-register-read-write-.patch
index e2347ed9d2..830b13e2d1 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0994-drivers-mmc-export-SD-extension-register-read-write-.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0994-drivers-mmc-export-SD-extension-register-read-write-.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1016,83 +1016,6 @@ static bool mmc_sd_card_using_v18(struct
+@@ -1032,83 +1032,6 @@ static bool mmc_sd_card_using_v18(struct
  	       (SD_MODE_UHS_SDR50 | SD_MODE_UHS_SDR104 | SD_MODE_UHS_DDR50);
  }
  
@@ -100,7 +100,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  static int sd_parse_ext_reg_power(struct mmc_card *card, u8 fno, u8 page,
  				  u16 offset)
  {
-@@ -1102,7 +1025,7 @@ static int sd_parse_ext_reg_power(struct
+@@ -1118,7 +1041,7 @@ static int sd_parse_ext_reg_power(struct
  	reg_buf = card->ext_reg_buf;
  
  	/* Read the extension register for power management function. */
@@ -109,7 +109,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (err) {
  		pr_warn("%s: error %d reading PM func of ext reg\n",
  			mmc_hostname(card->host), err);
-@@ -1140,7 +1063,7 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1156,7 +1079,7 @@ static int sd_parse_ext_reg_perf(struct
  
  	reg_buf = card->ext_reg_buf;
  
@@ -118,7 +118,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (err) {
  		pr_warn("%s: error %d reading PERF func of ext reg\n",
  			mmc_hostname(card->host), err);
-@@ -1235,7 +1158,7 @@ static int sd_parse_ext_reg(struct mmc_c
+@@ -1251,7 +1174,7 @@ static int sd_parse_ext_reg(struct mmc_c
  	return 0;
  }
  
@@ -127,7 +127,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  {
  	int err, i;
  	u8 num_ext, *gen_info_buf;
-@@ -1261,7 +1184,7 @@ static int sd_read_ext_regs(struct mmc_c
+@@ -1277,7 +1200,7 @@ static int sd_read_ext_regs(struct mmc_c
  	 * Read 512 bytes of general info, which is found at function number 0,
  	 * at page 0 and with no offset.
  	 */
@@ -136,7 +136,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (err) {
  		pr_err("%s: error %d reading general info of SD ext reg\n",
  			mmc_hostname(card->host), err);
-@@ -1333,7 +1256,7 @@ static int sd_flush_cache(struct mmc_hos
+@@ -1349,7 +1272,7 @@ static int sd_flush_cache(struct mmc_hos
  	page = card->ext_perf.page;
  	offset = card->ext_perf.offset + 261;
  
@@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (err) {
  		pr_warn("%s: error %d writing Cache Flush bit\n",
  			mmc_hostname(host), err);
-@@ -1349,7 +1272,7 @@ static int sd_flush_cache(struct mmc_hos
+@@ -1365,7 +1288,7 @@ static int sd_flush_cache(struct mmc_hos
  	 * Read the Flush Cache bit. The card shall reset it, to confirm that
  	 * it's has completed the flushing of the cache.
  	 */
@@ -154,7 +154,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (err) {
  		pr_warn("%s: error %d reading Cache Flush bit\n",
  			mmc_hostname(host), err);
-@@ -1372,7 +1295,7 @@ static int sd_enable_cache(struct mmc_ca
+@@ -1388,7 +1311,7 @@ static int sd_enable_cache(struct mmc_ca
  	 * Set Cache Enable at bit 0 in the performance enhancement register at
  	 * 260 bytes offset.
  	 */
@@ -163,7 +163,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  			       card->ext_perf.offset + 260, BIT(0));
  	if (err) {
  		pr_warn("%s: error %d writing Cache Enable bit\n",
-@@ -1545,7 +1468,7 @@ retry:
+@@ -1561,7 +1484,7 @@ retry:
  cont:
  	if (!oldcard) {
  		/* Read/parse the extension registers. */
@@ -172,7 +172,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  		if (err)
  			goto free_card;
  	}
-@@ -1672,7 +1595,7 @@ static int sd_busy_poweroff_notify_cb(vo
+@@ -1688,7 +1611,7 @@ static int sd_busy_poweroff_notify_cb(vo
  	 * one byte offset and is one byte long. The Power Off Notification
  	 * Ready is bit 0.
  	 */
@@ -181,7 +181,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  			      card->ext_power.offset + 1, 1, data->reg_buf);
  	if (err) {
  		pr_warn("%s: error %d reading status reg of PM func\n",
-@@ -1698,7 +1621,7 @@ static int sd_poweroff_notify(struct mmc
+@@ -1714,7 +1637,7 @@ static int sd_poweroff_notify(struct mmc
  	 * Set the Power Off Notification bit in the power management settings
  	 * register at 2 bytes offset.
  	 */
diff --git a/target/linux/bcm27xx/patches-6.6/950-0995-drivers-mmc-be-more-cautious-when-manipulating-Comma.patch b/target/linux/bcm27xx/patches-6.6/950-0995-drivers-mmc-be-more-cautious-when-manipulating-Comma.patch
index 6a855757ac..50138211fd 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0995-drivers-mmc-be-more-cautious-when-manipulating-Comma.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0995-drivers-mmc-be-more-cautious-when-manipulating-Comma.patch
@@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1089,8 +1089,12 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1105,8 +1105,12 @@ static int sd_parse_ext_reg_perf(struct
  	if ((reg_buf[4] & BIT(0)) && !mmc_card_broken_sd_cache(card))
  		card->ext_perf.feature_support |= SD_EXT_PERF_CACHE;
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-0996-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch b/target/linux/bcm27xx/patches-6.6/950-0996-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch
index c12229ece9..fc09f375e2 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0996-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0996-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch
@@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  				pr_info("%s: Host Software Queue enabled\n",
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -715,7 +715,8 @@ MMC_DEV_ATTR(oemid, "0x%04x\n", card->ci
+@@ -731,7 +731,8 @@ MMC_DEV_ATTR(oemid, "0x%04x\n", card->ci
  MMC_DEV_ATTR(serial, "0x%08x\n", card->cid.serial);
  MMC_DEV_ATTR(ocr, "0x%08x\n", card->ocr);
  MMC_DEV_ATTR(rca, "0x%04x\n", card->rca);
@@ -37,7 +37,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
  static ssize_t mmc_dsr_show(struct device *dev, struct device_attribute *attr,
  			    char *buf)
-@@ -777,6 +778,8 @@ static struct attribute *sd_std_attrs[]
+@@ -793,6 +794,8 @@ static struct attribute *sd_std_attrs[]
  	&dev_attr_ocr.attr,
  	&dev_attr_rca.attr,
  	&dev_attr_dsr.attr,
@@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	NULL,
  };
  
-@@ -1512,8 +1515,8 @@ cont:
+@@ -1528,8 +1531,8 @@ cont:
  			host->cqe_enabled = true;
  
  			if (card->ext_csd.cmdq_en) {
diff --git a/target/linux/bcm27xx/patches-6.6/950-0997-drivers-mmc-handle-1024-byte-SD-General-Info-lengths.patch b/target/linux/bcm27xx/patches-6.6/950-0997-drivers-mmc-handle-1024-byte-SD-General-Info-lengths.patch
index 55b369d659..8af51d3a23 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0997-drivers-mmc-handle-1024-byte-SD-General-Info-lengths.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0997-drivers-mmc-handle-1024-byte-SD-General-Info-lengths.patch
@@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1177,7 +1177,7 @@ static int mmc_sd_read_ext_regs(struct m
+@@ -1193,7 +1193,7 @@ static int mmc_sd_read_ext_regs(struct m
  	if (!(card->scr.cmds & SD_SCR_CMD48_SUPPORT))
  		return 0;
  
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (!gen_info_buf)
  		return -ENOMEM;
  
-@@ -1208,14 +1208,23 @@ static int mmc_sd_read_ext_regs(struct m
+@@ -1224,14 +1224,23 @@ static int mmc_sd_read_ext_regs(struct m
  	num_ext = gen_info_buf[4];
  
  	/*
diff --git a/target/linux/bcm27xx/patches-6.6/950-1167-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch b/target/linux/bcm27xx/patches-6.6/950-1167-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch
index b1ddf96311..5408d381e2 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1167-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1167-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch
@@ -129,7 +129,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	bool			busy;
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1104,6 +1104,14 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1120,6 +1120,14 @@ static int sd_parse_ext_reg_perf(struct
  		pr_debug("%s: Command Queue supported depth %u\n",
  			 mmc_hostname(card->host),
  			 card->ext_csd.cmdq_depth);
@@ -146,7 +146,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	card->ext_perf.fno = fno;
 --- a/include/linux/mmc/card.h
 +++ b/include/linux/mmc/card.h
-@@ -344,6 +344,8 @@ struct mmc_card {
+@@ -345,6 +345,8 @@ struct mmc_card {
  	unsigned int    nr_parts;
  
  	struct workqueue_struct *complete_wq;	/* Private workqueue */
diff --git a/target/linux/bcm27xx/patches-6.6/950-1168-fixup-mmc-restrict-posted-write-counts-for-SD-cards-.patch b/target/linux/bcm27xx/patches-6.6/950-1168-fixup-mmc-restrict-posted-write-counts-for-SD-cards-.patch
index b4f30b4b3c..150f93e762 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1168-fixup-mmc-restrict-posted-write-counts-for-SD-cards-.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1168-fixup-mmc-restrict-posted-write-counts-for-SD-cards-.patch
@@ -39,7 +39,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  			return BLK_STS_RESOURCE;
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1105,13 +1105,14 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1121,13 +1121,14 @@ static int sd_parse_ext_reg_perf(struct
  			 mmc_hostname(card->host),
  			 card->ext_csd.cmdq_depth);
  		/*
@@ -60,7 +60,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	}
  
  	card->ext_perf.fno = fno;
-@@ -1375,6 +1376,7 @@ retry:
+@@ -1391,6 +1392,7 @@ retry:
  
  		card->ocr = ocr;
  		card->type = MMC_TYPE_SD;
diff --git a/target/linux/bcm27xx/patches-6.6/950-1260-drivers-mmc-disable-write-caching-on-Samsung-2023-mo.patch b/target/linux/bcm27xx/patches-6.6/950-1260-drivers-mmc-disable-write-caching-on-Samsung-2023-mo.patch
index 761e5bea7f..327c74d720 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1260-drivers-mmc-disable-write-caching-on-Samsung-2023-mo.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1260-drivers-mmc-disable-write-caching-on-Samsung-2023-mo.patch
@@ -26,13 +26,13 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  #define CID_MANFID_SAMSUNG      0x15
 +#define CID_MANFID_SAMSUNG_SD	0x1b
  #define CID_MANFID_APACER       0x27
+ #define CID_MANFID_SWISSBIT     0x5D
  #define CID_MANFID_KINGSTON     0x70
- #define CID_MANFID_HYNIX	0x90
 --- a/drivers/mmc/core/quirks.h
 +++ b/drivers/mmc/core/quirks.h
-@@ -34,6 +34,14 @@ static const struct mmc_fixup __maybe_un
- 		   MMC_QUIRK_BROKEN_SD_CACHE | MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY,
- 		   EXT_CSD_REV_ANY),
+@@ -44,6 +44,14 @@ static const struct mmc_fixup __maybe_un
+ 		   0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
+ 		   MMC_QUIRK_NO_UHS_DDR50_TUNING, EXT_CSD_REV_ANY),
  
 +	/*
 +	 * Samsung Pro Plus/EVO Plus/Pro Ultimate SD cards (2023) claim to cache
diff --git a/target/linux/bcm27xx/patches-6.6/950-1333-mmc-quirks-disable-cache-on-more-known-bad-Sandisk-c.patch b/target/linux/bcm27xx/patches-6.6/950-1333-mmc-quirks-disable-cache-on-more-known-bad-Sandisk-c.patch
index c62b301c22..0d8111b890 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1333-mmc-quirks-disable-cache-on-more-known-bad-Sandisk-c.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1333-mmc-quirks-disable-cache-on-more-known-bad-Sandisk-c.patch
@@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/mmc/core/quirks.h
 +++ b/drivers/mmc/core/quirks.h
-@@ -42,6 +42,18 @@ static const struct mmc_fixup __maybe_un
+@@ -52,6 +52,18 @@ static const struct mmc_fixup __maybe_un
  		   0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
  		   MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-1336-mmc-quirks-add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch b/target/linux/bcm27xx/patches-6.6/950-1336-mmc-quirks-add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch
index feb6eaf8ea..8353546828 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1336-mmc-quirks-add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1336-mmc-quirks-add-MMC_QUIRK_BROKEN_ERASE-for-Phison-Int.patch
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/mmc/core/quirks.h
 +++ b/drivers/mmc/core/quirks.h
-@@ -171,6 +171,15 @@ static const struct mmc_fixup __maybe_un
+@@ -181,6 +181,15 @@ static const struct mmc_fixup __maybe_un
  	MMC_FIXUP("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
  	MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-1506-mmc-sd-filter-card-CQ-support-based-on-an-allow-list.patch b/target/linux/bcm27xx/patches-6.6/950-1506-mmc-sd-filter-card-CQ-support-based-on-an-allow-list.patch
index e5148707bd..612f31e239 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1506-mmc-sd-filter-card-CQ-support-based-on-an-allow-list.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1506-mmc-sd-filter-card-CQ-support-based-on-an-allow-list.patch
@@ -22,8 +22,8 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/mmc/core/card.h
 +++ b/drivers/mmc/core/card.h
-@@ -292,4 +292,9 @@ static inline int mmc_card_broken_sd_pow
- 	return c->quirks & MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY;
+@@ -298,4 +298,9 @@ static inline int mmc_card_no_uhs_ddr50_
+ 	return c->quirks & MMC_QUIRK_NO_UHS_DDR50_TUNING;
  }
  
 +static inline int mmc_card_working_sd_cq(const struct mmc_card *c)
@@ -34,7 +34,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  #endif
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1506,6 +1506,10 @@ cont:
+@@ -1522,6 +1522,10 @@ cont:
  			goto free_card;
  	}
  
@@ -47,10 +47,10 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  		/*
 --- a/include/linux/mmc/card.h
 +++ b/include/linux/mmc/card.h
-@@ -297,6 +297,7 @@ struct mmc_card {
- #define MMC_QUIRK_BROKEN_SD_CACHE	(1<<15)	/* Disable broken SD cache support */
+@@ -298,6 +298,7 @@ struct mmc_card {
  #define MMC_QUIRK_BROKEN_CACHE_FLUSH	(1<<16)	/* Don't flush cache until the write has occurred */
  #define MMC_QUIRK_BROKEN_SD_POWEROFF_NOTIFY	(1<<17) /* Disable broken SD poweroff notify support */
+ #define MMC_QUIRK_NO_UHS_DDR50_TUNING	(1<<18) /* Disable DDR50 tuning */
 +#define MMC_QUIRK_WORKING_SD_CQ	(1<<30)		/* SD card has known-good CQ implementation */
  #define MMC_QUIRK_ERASE_BROKEN	(1<<31)		/* Skip erase */
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-1507-mmc-set-MMC_QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch b/target/linux/bcm27xx/patches-6.6/950-1507-mmc-set-MMC_QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch
index 0dd1ffae71..ac3e2ebf37 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1507-mmc-set-MMC_QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1507-mmc-set-MMC_QUIRK_KNOWN_WORKING_SD_CQ-on-Raspberry-P.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/mmc/core/card.h
 +++ b/drivers/mmc/core/card.h
-@@ -90,6 +90,7 @@ struct mmc_fixup {
+@@ -91,6 +91,7 @@ struct mmc_fixup {
  #define CID_MANFID_KINGSTON     0x70
  #define CID_MANFID_HYNIX	0x90
  #define CID_MANFID_KINGSTON_SD	0x9F
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  #define END_FIXUP { NULL }
 --- a/drivers/mmc/core/quirks.h
 +++ b/drivers/mmc/core/quirks.h
-@@ -66,6 +66,12 @@ static const struct mmc_fixup __maybe_un
+@@ -76,6 +76,12 @@ static const struct mmc_fixup __maybe_un
  		   0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
  		   MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
  
diff --git a/target/linux/bcm27xx/patches-6.6/950-1508-mmc-use-downstream-DT-property-to-modify-CQE-and-or-.patch b/target/linux/bcm27xx/patches-6.6/950-1508-mmc-use-downstream-DT-property-to-modify-CQE-and-or-.patch
index 2139eef8be..cd29a17754 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1508-mmc-use-downstream-DT-property-to-modify-CQE-and-or-.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1508-mmc-use-downstream-DT-property-to-modify-CQE-and-or-.patch
@@ -49,7 +49,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  		if (host->caps & MMC_CAP_NONREMOVABLE)
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1506,8 +1506,8 @@ cont:
+@@ -1522,8 +1522,8 @@ cont:
  			goto free_card;
  	}
  
diff --git a/target/linux/gemini/patches-6.6/0005-net-ethernet-cortina-Use-TSO-also-on-common-TCP.patch b/target/linux/gemini/patches-6.6/0005-net-ethernet-cortina-Use-TSO-also-on-common-TCP.patch
deleted file mode 100644
index c690b8fddb..0000000000
--- a/target/linux/gemini/patches-6.6/0005-net-ethernet-cortina-Use-TSO-also-on-common-TCP.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 91fb8a7328dda827bc6c0da240a1eb17028416cd Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij at linaro.org>
-Date: Thu, 9 May 2024 23:59:28 +0200
-Subject: [PATCH 2/5] net: ethernet: cortina: Use TSO also on common TCP
-
-It is possible to push the segment offloader to also
-process non-segmented frames: just pass the skb->len
-or desired MSS to the offloader and it will handle them.
-
-This is especially good if the user sets up the MTU
-and the frames get big, because the checksumming engine
-cannot handle any frames bigger than 1518 bytes, so
-segmenting them all to be at max that will be helpful
-for the hardware, which only need to quirk odd frames
-such as big UDP ping packets.
-
-The vendor driver always uses the TSO like this, and
-the driver seems more stable after this, so apparently
-the hardware may have been engineered to always use
-the TSO on anything it can handle.
-
-Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
----
- drivers/net/ethernet/cortina/gemini.c | 31 +++++++++++++++++++++------
- 1 file changed, 24 insertions(+), 7 deletions(-)
-
---- a/drivers/net/ethernet/cortina/gemini.c
-+++ b/drivers/net/ethernet/cortina/gemini.c
-@@ -1148,6 +1148,7 @@ static int gmac_map_tx_bufs(struct net_d
- 	struct gmac_txdesc *txd;
- 	skb_frag_t *skb_frag;
- 	dma_addr_t mapping;
-+	bool tcp = false;
- 	void *buffer;
- 	u16 mss;
- 	int ret;
-@@ -1155,6 +1156,13 @@ static int gmac_map_tx_bufs(struct net_d
- 	word1 = skb->len;
- 	word3 = SOF_BIT;
- 
-+	/* Determine if we are doing TCP */
-+	if (skb->protocol == htons(ETH_P_IP))
-+		tcp = (ip_hdr(skb)->protocol == IPPROTO_TCP);
-+	else
-+		/* IPv6 */
-+		tcp = (ipv6_hdr(skb)->nexthdr == IPPROTO_TCP);
-+
- 	mss = skb_shinfo(skb)->gso_size;
- 	if (mss) {
- 		/* This means we are dealing with TCP and skb->len is the
-@@ -1167,6 +1175,20 @@ static int gmac_map_tx_bufs(struct net_d
- 			   mss, skb->len);
- 		word1 |= TSS_MTU_ENABLE_BIT;
- 		word3 |= mss;
-+	} else if (tcp) {
-+		/* Even if we are not using TSO, use the segment offloader
-+		 * for transferring the TCP frame: the TSO engine will deal
-+		 * with chopping up frames that exceed ETH_DATA_LEN which
-+		 * the checksumming engine cannot handle (see below) into
-+		 * manageable chunks. It flawlessly deals with quite big
-+		 * frames and frames containing custom DSA EtherTypes.
-+		 */
-+		mss = netdev->mtu + skb_tcp_all_headers(skb);
-+		mss = min(mss, skb->len);
-+		netdev_dbg(netdev, "botched TSO len %04x mtu %04x mss %04x\n",
-+			   skb->len, netdev->mtu, mss);
-+		word1 |= TSS_MTU_ENABLE_BIT;
-+		word3 |= mss;
- 	} else if (skb->len >= ETH_FRAME_LEN) {
- 		/* Hardware offloaded checksumming isn't working on frames
- 		 * bigger than 1514 bytes. A hypothesis about this is that the
-@@ -1185,21 +1207,16 @@ static int gmac_map_tx_bufs(struct net_d
- 	}
- 
- 	if (skb->ip_summed == CHECKSUM_PARTIAL) {
--		int tcp = 0;
--
- 		/* We do not switch off the checksumming on non TCP/UDP
- 		 * frames: as is shown from tests, the checksumming engine
- 		 * is smart enough to see that a frame is not actually TCP
- 		 * or UDP and then just pass it through without any changes
- 		 * to the frame.
- 		 */
--		if (skb->protocol == htons(ETH_P_IP)) {
-+		if (skb->protocol == htons(ETH_P_IP))
- 			word1 |= TSS_IP_CHKSUM_BIT;
--			tcp = ip_hdr(skb)->protocol == IPPROTO_TCP;
--		} else { /* IPv6 */
-+		else
- 			word1 |= TSS_IPV6_ENABLE_BIT;
--			tcp = ipv6_hdr(skb)->nexthdr == IPPROTO_TCP;
--		}
- 
- 		word1 |= tcp ? TSS_TCP_CHKSUM_BIT : TSS_UDP_CHKSUM_BIT;
- 	}
diff --git a/target/linux/gemini/patches-6.6/0008-net-ethernet-cortina-Implement-.set_pauseparam.patch b/target/linux/gemini/patches-6.6/0008-net-ethernet-cortina-Implement-.set_pauseparam.patch
index ad7594e855..687c352911 100644
--- a/target/linux/gemini/patches-6.6/0008-net-ethernet-cortina-Implement-.set_pauseparam.patch
+++ b/target/linux/gemini/patches-6.6/0008-net-ethernet-cortina-Implement-.set_pauseparam.patch
@@ -16,7 +16,7 @@ Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
 
 --- a/drivers/net/ethernet/cortina/gemini.c
 +++ b/drivers/net/ethernet/cortina/gemini.c
-@@ -2143,6 +2143,19 @@ static void gmac_get_pauseparam(struct n
+@@ -2147,6 +2147,19 @@ static void gmac_get_pauseparam(struct n
  	pparam->autoneg = true;
  }
  
@@ -36,7 +36,7 @@ Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
  static void gmac_get_ringparam(struct net_device *netdev,
  			       struct ethtool_ringparam *rp,
  			       struct kernel_ethtool_ringparam *kernel_rp,
-@@ -2263,6 +2276,7 @@ static const struct ethtool_ops gmac_351
+@@ -2267,6 +2280,7 @@ static const struct ethtool_ops gmac_351
  	.set_link_ksettings = gmac_set_ksettings,
  	.nway_reset	= gmac_nway_reset,
  	.get_pauseparam	= gmac_get_pauseparam,
diff --git a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch
index d38231684d..b721a16f18 100644
--- a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch
+++ b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch
@@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -3308,6 +3308,7 @@ static inline void dev_xmit_recursion_de
+@@ -3309,6 +3309,7 @@ static inline void dev_xmit_recursion_de
  	__this_cpu_dec(softnet_data.xmit.recursion);
  }
  
diff --git a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch
index 9e0bd14acf..efc6412177 100644
--- a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch
+++ b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch
@@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -4580,6 +4580,9 @@ static inline void netif_addr_unlock_bh(
+@@ -4581,6 +4581,9 @@ static inline void netif_addr_unlock_bh(
  
  void ether_setup(struct net_device *dev);
  
diff --git a/target/linux/generic/backport-6.6/850-v6.8-bus-mhi-host-Add-a-separate-timeout-parameter-for-wa.patch b/target/linux/generic/backport-6.6/850-v6.8-bus-mhi-host-Add-a-separate-timeout-parameter-for-wa.patch
index 94d9bcd93d..4aad22248a 100644
--- a/target/linux/generic/backport-6.6/850-v6.8-bus-mhi-host-Add-a-separate-timeout-parameter-for-wa.patch
+++ b/target/linux/generic/backport-6.6/850-v6.8-bus-mhi-host-Add-a-separate-timeout-parameter-for-wa.patch
@@ -109,7 +109,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org>
  			if (ret)
  				dev_err(dev, "Device failed to enter READY state\n");
  		}
-@@ -1125,7 +1130,8 @@ int mhi_async_power_up(struct mhi_contro
+@@ -1141,7 +1146,8 @@ int mhi_async_power_up(struct mhi_contro
  	if (state == MHI_STATE_SYS_ERR) {
  		mhi_set_mhi_state(mhi_cntrl, MHI_STATE_RESET);
  		ret = mhi_poll_reg_field(mhi_cntrl, mhi_cntrl->regs, MHICTRL,
@@ -119,7 +119,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org>
  		if (ret) {
  			dev_info(dev, "Failed to reset MHI due to syserr state\n");
  			goto error_exit;
-@@ -1216,14 +1222,18 @@ EXPORT_SYMBOL_GPL(mhi_power_down);
+@@ -1232,14 +1238,18 @@ EXPORT_SYMBOL_GPL(mhi_power_down);
  int mhi_sync_power_up(struct mhi_controller *mhi_cntrl)
  {
  	int ret = mhi_async_power_up(mhi_cntrl);
diff --git a/target/linux/generic/backport-6.6/853-v6.10-bus-mhi-host-Add-mhi_power_down_keep_dev-API-to-supp.patch b/target/linux/generic/backport-6.6/853-v6.10-bus-mhi-host-Add-mhi_power_down_keep_dev-API-to-supp.patch
index 826b39b518..b3e702bd62 100644
--- a/target/linux/generic/backport-6.6/853-v6.10-bus-mhi-host-Add-mhi_power_down_keep_dev-API-to-supp.patch
+++ b/target/linux/generic/backport-6.6/853-v6.10-bus-mhi-host-Add-mhi_power_down_keep_dev-API-to-supp.patch
@@ -49,7 +49,7 @@
  
  	mutex_lock(&mhi_cntrl->pm_mutex);
  
-@@ -820,7 +829,10 @@ void mhi_pm_st_worker(struct work_struct
+@@ -836,7 +845,10 @@ void mhi_pm_st_worker(struct work_struct
  			mhi_pm_sys_error_transition(mhi_cntrl);
  			break;
  		case DEV_ST_TRANSITION_DISABLE:
@@ -61,7 +61,7 @@
  			break;
  		default:
  			break;
-@@ -1174,7 +1186,8 @@ error_exit:
+@@ -1190,7 +1202,8 @@ error_exit:
  }
  EXPORT_SYMBOL_GPL(mhi_async_power_up);
  
@@ -71,7 +71,7 @@
  {
  	enum mhi_pm_state cur_state, transition_state;
  	struct device *dev = &mhi_cntrl->mhi_dev->dev;
-@@ -1210,15 +1223,32 @@ void mhi_power_down(struct mhi_controlle
+@@ -1226,15 +1239,32 @@ void mhi_power_down(struct mhi_controlle
  	write_unlock_irq(&mhi_cntrl->pm_lock);
  	mutex_unlock(&mhi_cntrl->pm_mutex);
  
diff --git a/target/linux/generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch b/target/linux/generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch
index e6dcdfd92b..9c3696e76a 100644
--- a/target/linux/generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch
+++ b/target/linux/generic/hack-6.6/800-GPIO-add-named-gpio-exports.patch
@@ -15,7 +15,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  
  #include "gpiolib.h"
  #include "gpiolib-of.h"
-@@ -1129,3 +1131,73 @@ void of_gpiochip_remove(struct gpio_chip
+@@ -1138,3 +1140,73 @@ void of_gpiochip_remove(struct gpio_chip
  {
  	of_node_put(dev_of_node(&chip->gpiodev->dev));
  }
diff --git a/target/linux/generic/hack-6.6/902-debloat_proc.patch b/target/linux/generic/hack-6.6/902-debloat_proc.patch
index e426c008d0..64472ad18f 100644
--- a/target/linux/generic/hack-6.6/902-debloat_proc.patch
+++ b/target/linux/generic/hack-6.6/902-debloat_proc.patch
@@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  }
 --- a/net/ipv4/route.c
 +++ b/net/ipv4/route.c
-@@ -381,6 +381,9 @@ static struct pernet_operations ip_rt_pr
+@@ -385,6 +385,9 @@ static struct pernet_operations ip_rt_pr
  
  static int __init ip_rt_proc_init(void)
  {
diff --git a/target/linux/generic/pending-6.6/532-jffs2_eofdetect.patch b/target/linux/generic/pending-6.6/532-jffs2_eofdetect.patch
index 744fbd0e21..88bb14a02a 100644
--- a/target/linux/generic/pending-6.6/532-jffs2_eofdetect.patch
+++ b/target/linux/generic/pending-6.6/532-jffs2_eofdetect.patch
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  		if (ret < 0)
  			goto out;
-@@ -567,6 +573,17 @@ full_scan:
+@@ -569,6 +575,17 @@ full_scan:
  			return err;
  	}
  
diff --git a/target/linux/mvebu/patches-6.6/0003-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch b/target/linux/mvebu/patches-6.6/0003-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
index 2483dedfae..2d7b6b5176 100644
--- a/target/linux/mvebu/patches-6.6/0003-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
+++ b/target/linux/mvebu/patches-6.6/0003-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
@@ -18,7 +18,7 @@ Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
 
 --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
 +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-@@ -432,9 +432,7 @@ static int armada_37xx_gpio_direction_ou
+@@ -433,9 +433,7 @@ static int armada_37xx_gpio_direction_ou
  	reg = OUTPUT_EN;
  	armada_37xx_update_reg(&reg, &en_offset);
  
diff --git a/target/linux/mvebu/patches-6.6/0004-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch b/target/linux/mvebu/patches-6.6/0004-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
deleted file mode 100644
index 4fe9f1b7b8..0000000000
--- a/target/linux/mvebu/patches-6.6/0004-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 57273ff8bb16f3842c2597b5bbcd49e7fa12edf7 Mon Sep 17 00:00:00 2001
-From: Gabor Juhos <j4g8y7 at gmail.com>
-Date: Wed, 14 May 2025 21:18:35 +0200
-Subject: [PATCH 4/7] pinctrl: armada-37xx: propagate error from
- armada_37xx_gpio_get()
-
-The regmap_read() function can fail, so propagate its error up to
-the stack instead of silently ignoring that.
-
-Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
-Reviewed-by: Andrew Lunn <andrew at lunn.ch>
-Signed-off-by: Gabor Juhos <j4g8y7 at gmail.com>
-Link: https://lore.kernel.org/20250514-pinctrl-a37xx-fixes-v2-4-07e9ac1ab737@gmail.com
-Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
----
- drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-@@ -440,11 +440,14 @@ static int armada_37xx_gpio_get(struct g
- 	struct armada_37xx_pinctrl *info = gpiochip_get_data(chip);
- 	unsigned int reg = INPUT_VAL;
- 	unsigned int val, mask;
-+	int ret;
- 
- 	armada_37xx_update_reg(&reg, &offset);
- 	mask = BIT(offset);
- 
--	regmap_read(info->regmap, reg, &val);
-+	ret = regmap_read(info->regmap, reg, &val);
-+	if (ret)
-+		return ret;
- 
- 	return (val & mask) != 0;
- }
diff --git a/target/linux/mvebu/patches-6.6/0005-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch b/target/linux/mvebu/patches-6.6/0005-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
deleted file mode 100644
index 2395a0665f..0000000000
--- a/target/linux/mvebu/patches-6.6/0005-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From bfa0ff804ffa8b1246ade8be08de98c9eb19d16f Mon Sep 17 00:00:00 2001
-From: Gabor Juhos <j4g8y7 at gmail.com>
-Date: Wed, 14 May 2025 21:18:36 +0200
-Subject: [PATCH 5/7] pinctrl: armada-37xx: propagate error from
- armada_37xx_pmx_gpio_set_direction()
-
-The armada_37xx_gpio_direction_{in,out}put() functions can fail, so
-propagate their error values back to the stack instead of silently
-ignoring those.
-
-Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
-Reviewed-by: Andrew Lunn <andrew at lunn.ch>
-Signed-off-by: Gabor Juhos <j4g8y7 at gmail.com>
-Link: https://lore.kernel.org/20250514-pinctrl-a37xx-fixes-v2-5-07e9ac1ab737@gmail.com
-Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
----
- drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
---- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-@@ -472,16 +472,17 @@ static int armada_37xx_pmx_gpio_set_dire
- {
- 	struct armada_37xx_pinctrl *info = pinctrl_dev_get_drvdata(pctldev);
- 	struct gpio_chip *chip = range->gc;
-+	int ret;
- 
- 	dev_dbg(info->dev, "gpio_direction for pin %u as %s-%d to %s\n",
- 		offset, range->name, offset, input ? "input" : "output");
- 
- 	if (input)
--		armada_37xx_gpio_direction_input(chip, offset);
-+		ret = armada_37xx_gpio_direction_input(chip, offset);
- 	else
--		armada_37xx_gpio_direction_output(chip, offset, 0);
-+		ret = armada_37xx_gpio_direction_output(chip, offset, 0);
- 
--	return 0;
-+	return ret;
- }
- 
- static int armada_37xx_gpio_request_enable(struct pinctrl_dev *pctldev,
diff --git a/target/linux/mvebu/patches-6.6/0006-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch b/target/linux/mvebu/patches-6.6/0006-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
deleted file mode 100644
index 9aac2e58e1..0000000000
--- a/target/linux/mvebu/patches-6.6/0006-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 6481c0a83367b0672951ccc876fbae7ee37b594b Mon Sep 17 00:00:00 2001
-From: Gabor Juhos <j4g8y7 at gmail.com>
-Date: Wed, 14 May 2025 21:18:37 +0200
-Subject: [PATCH 6/7] pinctrl: armada-37xx: propagate error from
- armada_37xx_gpio_get_direction()
-
-The regmap_read() function can fail, so propagate its error up to
-the stack instead of silently ignoring that.
-
-Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
-Reviewed-by: Andrew Lunn <andrew at lunn.ch>
-Signed-off-by: Gabor Juhos <j4g8y7 at gmail.com>
-Link: https://lore.kernel.org/20250514-pinctrl-a37xx-fixes-v2-6-07e9ac1ab737@gmail.com
-Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
----
- drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-@@ -402,10 +402,13 @@ static int armada_37xx_gpio_get_directio
- 	struct armada_37xx_pinctrl *info = gpiochip_get_data(chip);
- 	unsigned int reg = OUTPUT_EN;
- 	unsigned int val, mask;
-+	int ret;
- 
- 	armada_37xx_update_reg(&reg, &offset);
- 	mask = BIT(offset);
--	regmap_read(info->regmap, reg, &val);
-+	ret = regmap_read(info->regmap, reg, &val);
-+	if (ret)
-+		return ret;
- 
- 	if (val & mask)
- 		return GPIO_LINE_DIRECTION_OUT;
diff --git a/target/linux/mvebu/patches-6.6/0007-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch b/target/linux/mvebu/patches-6.6/0007-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
deleted file mode 100644
index 6c14e50b4a..0000000000
--- a/target/linux/mvebu/patches-6.6/0007-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4229c28323db141eda69cb99427be75d3edba071 Mon Sep 17 00:00:00 2001
-From: Gabor Juhos <j4g8y7 at gmail.com>
-Date: Wed, 14 May 2025 21:18:38 +0200
-Subject: [PATCH 7/7] pinctrl: armada-37xx: propagate error from
- armada_37xx_pmx_set_by_name()
-
-The regmap_update_bits() function can fail, so propagate its error
-up to the stack instead of silently ignoring that.
-
-Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
-Reviewed-by: Andrew Lunn <andrew at lunn.ch>
-Signed-off-by: Gabor Juhos <j4g8y7 at gmail.com>
-Link: https://lore.kernel.org/20250514-pinctrl-a37xx-fixes-v2-7-07e9ac1ab737@gmail.com
-Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
----
- drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
---- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-@@ -358,9 +358,7 @@ static int armada_37xx_pmx_set_by_name(s
- 
- 	val = grp->val[func];
- 
--	regmap_update_bits(info->regmap, reg, mask, val);
--
--	return 0;
-+	return regmap_update_bits(info->regmap, reg, mask, val);
- }
- 
- static int armada_37xx_pmx_set(struct pinctrl_dev *pctldev,
diff --git a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch
index 01ecb16aeb..6c6cff13c9 100644
--- a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch
+++ b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3296,6 +3296,18 @@ static const struct usb_device_id uvc_id
+@@ -3307,6 +3307,18 @@ static const struct usb_device_id uvc_id
  	  .bInterfaceSubClass	= 1,
  	  .bInterfaceProtocol	= 0,
  	  .driver_info		= UVC_INFO_META(V4L2_META_FMT_D4XX) },




More information about the lede-commits mailing list