[openwrt/openwrt] kernel: bump 5.15 to 5.15.162

LEDE Commits lede-commits at lists.infradead.org
Mon Jul 8 12:27:42 PDT 2024


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/7764d482d9a28e7c33e7efe3a1c0214ec29045ff

commit 7764d482d9a28e7c33e7efe3a1c0214ec29045ff
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Sun Jul 7 23:25:22 2024 +0200

    kernel: bump 5.15 to 5.15.162
    
    Removed because they are upstream:
       mediatek/patches-5.15/702-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch
       https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=a03c3a34692f8400a85ec1cc2b058c6880bb7e7b
    
       realtek/patches-5.15/020-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch
       https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=a03c3a34692f8400a85ec1cc2b058c6880bb7e7b
    
    Link: https://github.com/openwrt/openwrt/pull/15901
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-5.15                                |  4 +-
 .../patches-5.15/910-unaligned_access_hacks.patch  |  6 +--
 ...950-0070-MMC-added-alternative-MMC-driver.patch |  4 +-
 ...-sc16is7xx-Don-t-spin-if-no-data-received.patch |  2 +-
 ...-device-quirks-for-Freeway-Airmouse-T3-an.patch |  2 +-
 ...Use-more-event-ring-segment-table-entries.patch |  2 +-
 ...1-sc16is7xx-Fix-for-hardware-flow-control.patch |  6 +--
 ...i-DPI-interface-in-mode6-for-18-bit-color.patch |  2 +-
 ...imple-Add-a-timing-for-the-Raspberry-Pi-7.patch |  4 +-
 ...-xhci-quirks-add-link-TRB-quirk-for-VL805.patch |  4 +-
 ...or-out-TRBS_PER_SEGMENT-define-in-runtime.patch |  6 +--
 ...0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch |  4 +-
 ...rm-panel-simple-add-Geekworm-MZP280-Panel.patch |  2 +-
 ...d-a-quirk-for-Superspeed-bulk-OUT-transfe.patch | 10 ++--
 ...hci-rework-XHCI_VLI_SS_BULK_OUT_BUG-quirk.patch |  6 +--
 ...-add-support-for-performing-fake-doorbell.patch |  2 +-
 ...-bmips-automatically-detect-CPU-frequency.patch |  2 +-
 ...-mips-bmips-automatically-detect-RAM-size.patch |  4 +-
 .../203-mips-bmips-dma-fix-CBR-address.patch       |  7 +--
 ...d-frags-support-to-xdp_return_-buff-frame.patch |  6 +--
 ...t-stmicro-stmmac-move-dma-conf-to-dedicat.patch |  2 +-
 ...sfp-re-implement-soft-state-polling-setup.patch |  2 +-
 ....1-net-sfp-move-quirk-handling-into-sfp.c.patch |  2 +-
 ...5.17-net-usb-ax88179_178a-add-TSO-feature.patch |  6 +--
 .../hack-5.15/721-net-add-packet-mangeling.patch   |  4 +-
 ...6-net-eth-dpaa2-eth-do-not-hold-rtnl_lock.patch |  4 +-
 .../hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch   |  4 +-
 .../linux/generic/hack-5.15/902-debloat_proc.patch |  2 +-
 .../pending-5.15/630-packet_socket_type.patch      |  6 +--
 .../pending-5.15/655-increase_skb_pad.patch        |  2 +-
 ...jecting-with-source-address-failed-policy.patch | 22 ++++-----
 ...f_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch |  2 +-
 ...page-pool-and-page-referenced-frags-in-GR.patch |  2 +-
 ...n-don-t-learn-non-unicast-L2-destinations.patch | 30 ------------
 .../0001-MIPS-lantiq-add-pcie-driver.patch         |  2 +-
 ...d-helpers-to-extract-clause-45-regad-and-.patch | 53 ----------------------
 ...d-helpers-to-extract-clause-45-regad-and-.patch | 53 ----------------------
 ...-phy-sfp-re-probe-modules-on-DEV_UP-event.patch |  2 +-
 38 files changed, 75 insertions(+), 210 deletions(-)

diff --git a/include/kernel-5.15 b/include/kernel-5.15
index a03ed80f9f..02ccce117b 100644
--- a/include/kernel-5.15
+++ b/include/kernel-5.15
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.15 = .161
-LINUX_KERNEL_HASH-5.15.161 = d629f78680dc4b65e3d78b61406fb7757b960c83c206e63ad8c2606b3e3c474c
+LINUX_VERSION-5.15 = .162
+LINUX_KERNEL_HASH-5.15.162 = 91bfc0ea152ce7b102a0b79d35a7c92843874ebf085c99d2ba8b4d85e62b1a7c
diff --git a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch
index 3c15a016ff..f0a25f4a2f 100644
--- a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch
@@ -259,7 +259,7 @@ SVN-Revision: 35130
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
-@@ -944,10 +945,10 @@ static void tcp_v6_send_response(const s
+@@ -946,10 +947,10 @@ static void tcp_v6_send_response(const s
  	topt = (__be32 *)(t1 + 1);
  
  	if (tsecr) {
@@ -337,7 +337,7 @@ SVN-Revision: 35130
  #endif /* _LINUX_TYPES_H */
 --- a/net/ipv4/af_inet.c
 +++ b/net/ipv4/af_inet.c
-@@ -1480,8 +1480,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1489,8 +1489,8 @@ struct sk_buff *inet_gro_receive(struct
  	if (unlikely(ip_fast_csum((u8 *)iph, 5)))
  		goto out_unlock;
  
@@ -751,7 +751,7 @@ SVN-Revision: 35130
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -4175,14 +4175,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4192,14 +4192,16 @@ static bool tcp_parse_aligned_timestamp(
  {
  	const __be32 *ptr = (const __be32 *)(th + 1);
  
diff --git a/target/linux/bcm27xx/patches-5.15/950-0070-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-5.15/950-0070-MMC-added-alternative-MMC-driver.patch
index f32e6887bf..570ab6c18b 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0070-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0070-MMC-added-alternative-MMC-driver.patch
@@ -1984,7 +1984,7 @@ bcm2835-mmc: uninitialized_var is no more
  
  #define MAX_TUNING_LOOP 40
  
-@@ -3188,7 +3188,7 @@ static void sdhci_timeout_timer(struct t
+@@ -3191,7 +3191,7 @@ static void sdhci_timeout_timer(struct t
  	spin_lock_irqsave(&host->lock, flags);
  
  	if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@@ -1993,7 +1993,7 @@ bcm2835-mmc: uninitialized_var is no more
  		       mmc_hostname(host->mmc));
  		sdhci_dumpregs(host);
  
-@@ -3210,7 +3210,7 @@ static void sdhci_timeout_data_timer(str
+@@ -3213,7 +3213,7 @@ static void sdhci_timeout_data_timer(str
  
  	if (host->data || host->data_cmd ||
  	    (host->cmd && sdhci_data_line_cmd(host->cmd))) {
diff --git a/target/linux/bcm27xx/patches-5.15/950-0108-sc16is7xx-Don-t-spin-if-no-data-received.patch b/target/linux/bcm27xx/patches-5.15/950-0108-sc16is7xx-Don-t-spin-if-no-data-received.patch
index 778d18557a..237d6d3326 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0108-sc16is7xx-Don-t-spin-if-no-data-received.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0108-sc16is7xx-Don-t-spin-if-no-data-received.patch
@@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
 
 --- a/drivers/tty/serial/sc16is7xx.c
 +++ b/drivers/tty/serial/sc16is7xx.c
-@@ -710,6 +710,8 @@ static bool sc16is7xx_port_irq(struct sc
+@@ -723,6 +723,8 @@ static bool sc16is7xx_port_irq(struct sc
  
  			if (rxlen)
  				sc16is7xx_handle_rx(port, rxlen, iir);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0163-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-5.15/950-0163-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
index 4ec54a03ee..72e4cfad0d 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0163-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0163-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  #define USB_VENDOR_ID_BELKIN		0x050d
  #define USB_DEVICE_ID_FLIP_KVM		0x3201
  
-@@ -1323,6 +1326,9 @@
+@@ -1324,6 +1327,9 @@
  #define USB_VENDOR_ID_XAT	0x2505
  #define USB_DEVICE_ID_XAT_CSR	0x0220
  
diff --git a/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch
index a9bbab4c26..d7bcce3b1a 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch
@@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  			val);
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1674,8 +1674,8 @@ struct urb_priv {
+@@ -1675,8 +1675,8 @@ struct urb_priv {
   * Each segment table entry is 4*32bits long.  1K seems like an ok size:
   * (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
   * meaning 64 ring segments.
diff --git a/target/linux/bcm27xx/patches-5.15/950-0231-sc16is7xx-Fix-for-hardware-flow-control.patch b/target/linux/bcm27xx/patches-5.15/950-0231-sc16is7xx-Fix-for-hardware-flow-control.patch
index 0e15117438..be78f983b3 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0231-sc16is7xx-Fix-for-hardware-flow-control.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0231-sc16is7xx-Fix-for-hardware-flow-control.patch
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
 
 --- a/drivers/tty/serial/sc16is7xx.c
 +++ b/drivers/tty/serial/sc16is7xx.c
-@@ -525,8 +525,9 @@ static int sc16is7xx_set_baud(struct uar
+@@ -537,8 +537,9 @@ static int sc16is7xx_set_baud(struct uar
  
  	/* Enable enhanced features */
  	regcache_cache_bypass(s->regmap, true);
@@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  	regcache_cache_bypass(s->regmap, false);
  
  	/* Put LCR back to the normal mode */
-@@ -856,7 +857,7 @@ static unsigned int sc16is7xx_get_mctrl(
+@@ -869,7 +870,7 @@ static unsigned int sc16is7xx_get_mctrl(
  	/* DCD and DSR are not wired and CTS/RTS is handled automatically
  	 * so just indicate DSR and CAR asserted
  	 */
@@ -47,7 +47,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  }
  
  static void sc16is7xx_set_mctrl(struct uart_port *port, unsigned int mctrl)
-@@ -943,14 +944,19 @@ static void sc16is7xx_set_termios(struct
+@@ -956,14 +957,19 @@ static void sc16is7xx_set_termios(struct
  	regcache_cache_bypass(s->regmap, true);
  	sc16is7xx_port_write(port, SC16IS7XX_XON1_REG, termios->c_cc[VSTART]);
  	sc16is7xx_port_write(port, SC16IS7XX_XOFF1_REG, termios->c_cc[VSTOP]);
diff --git a/target/linux/bcm27xx/patches-5.15/950-0421-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch b/target/linux/bcm27xx/patches-5.15/950-0421-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch
index 4cd6826ae3..082b245cf5 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0421-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0421-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch
@@ -157,7 +157,7 @@ Signed-off-by: Joerg Quinten <aBUGSworstnightmare at gmail.com>
  static const struct drm_display_mode innolux_at070tn92_mode = {
  	.clock = 33333,
  	.hdisplay = 800,
-@@ -4672,6 +4704,9 @@ static const struct of_device_id platfor
+@@ -4673,6 +4705,9 @@ static const struct of_device_id platfor
  		.compatible = "innolux,at043tn24",
  		.data = &innolux_at043tn24,
  	}, {
diff --git a/target/linux/bcm27xx/patches-5.15/950-0479-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/target/linux/bcm27xx/patches-5.15/950-0479-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
index 8c9b6e2b5b..50af5509bc 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0479-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0479-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
@@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
 
 --- a/drivers/gpu/drm/panel/panel-simple.c
 +++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -3769,6 +3769,31 @@ static const struct panel_desc qishenglo
+@@ -3770,6 +3770,31 @@ static const struct panel_desc qishenglo
  	.connector_type = DRM_MODE_CONNECTOR_DPI,
  };
  
@@ -47,7 +47,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
  static const struct display_timing rocktech_rk070er9427_timing = {
  	.pixelclock = { 26400000, 33300000, 46800000 },
  	.hactive = { 800, 800, 800 },
-@@ -4851,6 +4876,9 @@ static const struct of_device_id platfor
+@@ -4852,6 +4877,9 @@ static const struct of_device_id platfor
  		.compatible = "qishenglong,gopher2b-lcd",
  		.data = &qishenglong_gopher2b_lcd,
  	}, {
diff --git a/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
index 78b01e9ba5..eb44439f5f 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -294,8 +294,10 @@ static void xhci_pci_quirks(struct devic
+@@ -301,8 +301,10 @@ static void xhci_pci_quirks(struct devic
  			pdev->device == 0x3432)
  		xhci->quirks |= XHCI_BROKEN_STREAMS;
  
@@ -54,7 +54,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	addr = xhci_trb_virt_to_dma(new_seg, new_deq);
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1908,6 +1908,7 @@ struct xhci_hcd {
+@@ -1909,6 +1909,7 @@ struct xhci_hcd {
  #define XHCI_RESET_TO_DEFAULT	BIT_ULL(44)
  #define XHCI_ZHAOXIN_TRB_FETCH	BIT_ULL(45)
  #define XHCI_ZHAOXIN_HOST	BIT_ULL(46)
diff --git a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
index d026c86174..285e726c2a 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
@@ -205,7 +205,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  		xhci_err(xhci, "Tried to move enqueue past ring segment\n");
  		return;
  	}
-@@ -3215,7 +3218,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
+@@ -3246,7 +3249,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
  	 * that clears the EHB.
  	 */
  	while (xhci_handle_event(xhci) > 0) {
@@ -214,7 +214,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  			continue;
  		xhci_update_erst_dequeue(xhci, event_ring_deq);
  		event_ring_deq = xhci->event_ring->dequeue;
-@@ -3357,7 +3360,8 @@ static int prepare_ring(struct xhci_hcd
+@@ -3388,7 +3391,8 @@ static int prepare_ring(struct xhci_hcd
  		}
  	}
  
@@ -248,7 +248,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	 * when the cycle bit is set to 1.
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1636,6 +1636,7 @@ struct xhci_ring {
+@@ -1637,6 +1637,7 @@ struct xhci_ring {
  	unsigned int		num_trbs_free;
  	unsigned int		num_trbs_free_temp;
  	unsigned int		bounce_buf_len;
diff --git a/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch b/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
index 4e23eaf936..514692e849 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
@@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  			cycle_state, type, max_packet, flags);
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -297,6 +297,7 @@ static void xhci_pci_quirks(struct devic
+@@ -304,6 +304,7 @@ static void xhci_pci_quirks(struct devic
  	if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
  		xhci->quirks |= XHCI_LPM_SUPPORT;
  		xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
@@ -63,7 +63,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1910,6 +1910,7 @@ struct xhci_hcd {
+@@ -1911,6 +1911,7 @@ struct xhci_hcd {
  #define XHCI_ZHAOXIN_TRB_FETCH	BIT_ULL(45)
  #define XHCI_ZHAOXIN_HOST	BIT_ULL(46)
  #define XHCI_AVOID_DQ_ON_LINK	BIT_ULL(47)
diff --git a/target/linux/bcm27xx/patches-5.15/950-0686-drm-panel-simple-add-Geekworm-MZP280-Panel.patch b/target/linux/bcm27xx/patches-5.15/950-0686-drm-panel-simple-add-Geekworm-MZP280-Panel.patch
index df9f3dd98a..446c9a3398 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0686-drm-panel-simple-add-Geekworm-MZP280-Panel.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0686-drm-panel-simple-add-Geekworm-MZP280-Panel.patch
@@ -46,7 +46,7 @@ Acked-by: Maxime Ripard <maxime at cerno.tech>
  static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
  	.clock = 9000,
  	.hdisplay = 480,
-@@ -4714,6 +4740,9 @@ static const struct of_device_id platfor
+@@ -4715,6 +4741,9 @@ static const struct of_device_id platfor
  		.compatible = "friendlyarm,hd702e",
  		.data = &friendlyarm_hd702e,
  	}, {
diff --git a/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch b/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
index b18689dd9a..9c24005fe8 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -298,6 +298,7 @@ static void xhci_pci_quirks(struct devic
+@@ -305,6 +305,7 @@ static void xhci_pci_quirks(struct devic
  		xhci->quirks |= XHCI_LPM_SUPPORT;
  		xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
  		xhci->quirks |= XHCI_VLI_TRB_CACHE_BUG;
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -3670,14 +3670,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3701,14 +3701,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
  	unsigned int num_trbs;
  	unsigned int start_cycle, num_sgs = 0;
  	unsigned int enqd_len, block_len, trb_buff_len, full_len;
@@ -54,7 +54,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	full_len = urb->transfer_buffer_length;
  	/* If we have scatter/gather list, we use it. */
  	if (urb->num_sgs && !(urb->transfer_flags & URB_DMA_MAP_SINGLE)) {
-@@ -3714,6 +3715,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3745,6 +3746,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
  	start_cycle = ring->cycle_state;
  	send_addr = addr;
  
@@ -72,7 +72,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	/* Queue the TRBs, even if they are zero-length */
  	for (enqd_len = 0; first_trb || enqd_len < full_len;
  			enqd_len += trb_buff_len) {
-@@ -3726,6 +3738,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3757,6 +3769,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
  		if (enqd_len + trb_buff_len > full_len)
  			trb_buff_len = full_len - enqd_len;
  
@@ -86,7 +86,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  			first_trb = false;
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1911,6 +1911,7 @@ struct xhci_hcd {
+@@ -1912,6 +1912,7 @@ struct xhci_hcd {
  #define XHCI_ZHAOXIN_HOST	BIT_ULL(46)
  #define XHCI_AVOID_DQ_ON_LINK	BIT_ULL(47)
  #define XHCI_VLI_TRB_CACHE_BUG	BIT_ULL(48)
diff --git a/target/linux/bcm27xx/patches-5.15/950-0747-usb-xhci-rework-XHCI_VLI_SS_BULK_OUT_BUG-quirk.patch b/target/linux/bcm27xx/patches-5.15/950-0747-usb-xhci-rework-XHCI_VLI_SS_BULK_OUT_BUG-quirk.patch
index 69b6da023e..c4d9bcfd42 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0747-usb-xhci-rework-XHCI_VLI_SS_BULK_OUT_BUG-quirk.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0747-usb-xhci-rework-XHCI_VLI_SS_BULK_OUT_BUG-quirk.patch
@@ -13,7 +13,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
 
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -3670,7 +3670,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3701,7 +3701,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
  	unsigned int num_trbs;
  	unsigned int start_cycle, num_sgs = 0;
  	unsigned int enqd_len, block_len, trb_buff_len, full_len;
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	u32 field, length_field, remainder, maxpacket;
  	u64 addr, send_addr;
  
-@@ -3716,14 +3716,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3747,14 +3747,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
  	send_addr = addr;
  
  	if (xhci->quirks & XHCI_VLI_SS_BULK_OUT_BUG &&
@@ -40,7 +40,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  	}
  
  	/* Queue the TRBs, even if they are zero-length */
-@@ -3738,7 +3733,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3769,7 +3764,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
  		if (enqd_len + trb_buff_len > full_len)
  			trb_buff_len = full_len - enqd_len;
  
diff --git a/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
index 49277ab251..c1578e3b64 100644
--- a/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
+++ b/target/linux/bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
@@ -109,7 +109,7 @@ it on BCM4708 family.
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1908,6 +1908,7 @@ struct xhci_hcd {
+@@ -1909,6 +1909,7 @@ struct xhci_hcd {
  #define XHCI_RESET_TO_DEFAULT	BIT_ULL(44)
  #define XHCI_ZHAOXIN_TRB_FETCH	BIT_ULL(45)
  #define XHCI_ZHAOXIN_HOST	BIT_ULL(46)
diff --git a/target/linux/bmips/patches-5.15/200-mips-bmips-automatically-detect-CPU-frequency.patch b/target/linux/bmips/patches-5.15/200-mips-bmips-automatically-detect-CPU-frequency.patch
index e2b73e6ac4..6ac18e2a43 100644
--- a/target/linux/bmips/patches-5.15/200-mips-bmips-automatically-detect-CPU-frequency.patch
+++ b/target/linux/bmips/patches-5.15/200-mips-bmips-automatically-detect-CPU-frequency.patch
@@ -68,7 +68,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
  struct bmips_quirk {
  	const char		*compatible;
  	void			(*quirk_fn)(void);
-@@ -142,17 +181,161 @@ const char *get_system_type(void)
+@@ -143,17 +182,161 @@ const char *get_system_type(void)
  	return "Generic BMIPS kernel";
  }
  
diff --git a/target/linux/bmips/patches-5.15/201-mips-bmips-automatically-detect-RAM-size.patch b/target/linux/bmips/patches-5.15/201-mips-bmips-automatically-detect-RAM-size.patch
index c0bdb0d5ce..22cb84d606 100644
--- a/target/linux/bmips/patches-5.15/201-mips-bmips-automatically-detect-RAM-size.patch
+++ b/target/linux/bmips/patches-5.15/201-mips-bmips-automatically-detect-RAM-size.patch
@@ -84,7 +84,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
  struct bmips_quirk {
  	const char		*compatible;
  	void			(*quirk_fn)(void);
-@@ -340,9 +366,90 @@ void __init plat_time_init(void)
+@@ -341,9 +367,90 @@ void __init plat_time_init(void)
  	mips_hpt_frequency = freq;
  }
  
@@ -175,7 +175,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
  	const struct bmips_quirk *q;
  
  	set_io_port_base(0);
-@@ -360,6 +467,18 @@ void __init plat_mem_setup(void)
+@@ -361,6 +468,18 @@ void __init plat_mem_setup(void)
  
  	__dt_setup_arch(dtb);
  
diff --git a/target/linux/bmips/patches-5.15/203-mips-bmips-dma-fix-CBR-address.patch b/target/linux/bmips/patches-5.15/203-mips-bmips-dma-fix-CBR-address.patch
index 57bf395e2e..f4152fc034 100644
--- a/target/linux/bmips/patches-5.15/203-mips-bmips-dma-fix-CBR-address.patch
+++ b/target/linux/bmips/patches-5.15/203-mips-bmips-dma-fix-CBR-address.patch
@@ -57,7 +57,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
  
  static const unsigned long kbase = VMLINUX_LOAD_ADDRESS & 0xfff00000;
  
-@@ -170,12 +170,6 @@ static void bcm6358_quirks(void)
+@@ -170,13 +170,6 @@ static void bcm6358_quirks(void)
  	 * disable SMP for now
  	 */
  	bmips_smp_enabled = 0;
@@ -66,11 +66,12 @@ Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
 -	 * RAC flush causes kernel panics on BCM6358 when booting from TP1
 -	 * because the bootloader is not initializing it properly.
 -	 */
--	bmips_rac_flush_disable = !!(read_c0_brcm_cmt_local() & (1 << 31));
+-	bmips_rac_flush_disable = !!(read_c0_brcm_cmt_local() & (1 << 31)) ||
+-				  !!BMIPS_GET_CBR();
  }
  
  static void bcm6368_quirks(void)
-@@ -198,6 +192,11 @@ static const struct bmips_quirk bmips_qu
+@@ -199,6 +192,11 @@ static const struct bmips_quirk bmips_qu
  
  void __init prom_init(void)
  {
diff --git a/target/linux/generic/backport-5.15/606-v5.18-xdp-add-frags-support-to-xdp_return_-buff-frame.patch b/target/linux/generic/backport-5.15/606-v5.18-xdp-add-frags-support-to-xdp_return_-buff-frame.patch
index e126b21417..1cb3c56263 100644
--- a/target/linux/generic/backport-5.15/606-v5.18-xdp-add-frags-support-to-xdp_return_-buff-frame.patch
+++ b/target/linux/generic/backport-5.15/606-v5.18-xdp-add-frags-support-to-xdp_return_-buff-frame.patch
@@ -48,7 +48,7 @@ Signed-off-by: Alexei Starovoitov <ast at kernel.org>
  int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq,
 --- a/net/core/xdp.c
 +++ b/net/core/xdp.c
-@@ -409,12 +409,38 @@ static void __xdp_return(void *data, str
+@@ -407,12 +407,38 @@ static void __xdp_return(void *data, str
  
  void xdp_return_frame(struct xdp_frame *xdpf)
  {
@@ -87,7 +87,7 @@ Signed-off-by: Alexei Starovoitov <ast at kernel.org>
  	__xdp_return(xdpf->data, &xdpf->mem, true, NULL);
  }
  EXPORT_SYMBOL_GPL(xdp_return_frame_rx_napi);
-@@ -450,7 +476,7 @@ void xdp_return_frame_bulk(struct xdp_fr
+@@ -448,7 +474,7 @@ void xdp_return_frame_bulk(struct xdp_fr
  	struct xdp_mem_allocator *xa;
  
  	if (mem->type != MEM_TYPE_PAGE_POOL) {
@@ -96,7 +96,7 @@ Signed-off-by: Alexei Starovoitov <ast at kernel.org>
  		return;
  	}
  
-@@ -469,12 +495,38 @@ void xdp_return_frame_bulk(struct xdp_fr
+@@ -467,12 +493,38 @@ void xdp_return_frame_bulk(struct xdp_fr
  		bq->xa = rhashtable_lookup(mem_id_ht, &mem->id, mem_id_rht_params);
  	}
  
diff --git a/target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch b/target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch
index 1b5a8a700b..2582570e88 100644
--- a/target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch
+++ b/target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch
@@ -1270,7 +1270,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	if (i >= priv->plat->tx_queues_to_use)
 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
 +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
-@@ -971,13 +971,13 @@ static int tc_setup_etf(struct stmmac_pr
+@@ -972,13 +972,13 @@ static int tc_setup_etf(struct stmmac_pr
  		return -EOPNOTSUPP;
  	if (qopt->queue >= priv->plat->tx_queues_to_use)
  		return -EINVAL;
diff --git a/target/linux/generic/backport-5.15/783-v6.1-net-sfp-re-implement-soft-state-polling-setup.patch b/target/linux/generic/backport-5.15/783-v6.1-net-sfp-re-implement-soft-state-polling-setup.patch
index 77cd336d36..2a2fd0215c 100644
--- a/target/linux/generic/backport-5.15/783-v6.1-net-sfp-re-implement-soft-state-polling-setup.patch
+++ b/target/linux/generic/backport-5.15/783-v6.1-net-sfp-re-implement-soft-state-polling-setup.patch
@@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	if (!memcmp(id.base.vendor_name, "ALCATELLUCENT   ", 16) &&
  	    !memcmp(id.base.vendor_pn, "3FE46541AA      ", 16))
  		sfp->module_t_start_up = T_START_UP_BAD_GPON;
-@@ -2568,6 +2580,8 @@ static int sfp_probe(struct platform_dev
+@@ -2567,6 +2579,8 @@ static int sfp_probe(struct platform_dev
  				return PTR_ERR(sfp->gpio[i]);
  		}
  
diff --git a/target/linux/generic/backport-5.15/784-v6.1-net-sfp-move-quirk-handling-into-sfp.c.patch b/target/linux/generic/backport-5.15/784-v6.1-net-sfp-move-quirk-handling-into-sfp.c.patch
index 02fa28c5af..2e3dd6acb5 100644
--- a/target/linux/generic/backport-5.15/784-v6.1-net-sfp-move-quirk-handling-into-sfp.c.patch
+++ b/target/linux/generic/backport-5.15/784-v6.1-net-sfp-move-quirk-handling-into-sfp.c.patch
@@ -254,7 +254,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	return 0;
  }
  
-@@ -2077,7 +2168,8 @@ static void sfp_sm_module(struct sfp *sf
+@@ -2076,7 +2167,8 @@ static void sfp_sm_module(struct sfp *sf
  			break;
  
  		/* Report the module insertion to the upstream device */
diff --git a/target/linux/generic/backport-5.15/797-v5.17-net-usb-ax88179_178a-add-TSO-feature.patch b/target/linux/generic/backport-5.15/797-v5.17-net-usb-ax88179_178a-add-TSO-feature.patch
index b2af169b92..99682a0bf2 100644
--- a/target/linux/generic/backport-5.15/797-v5.17-net-usb-ax88179_178a-add-TSO-feature.patch
+++ b/target/linux/generic/backport-5.15/797-v5.17-net-usb-ax88179_178a-add-TSO-feature.patch
@@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/usb/ax88179_178a.c
 +++ b/drivers/net/usb/ax88179_178a.c
-@@ -1333,11 +1333,12 @@ static int ax88179_bind(struct usbnet *d
+@@ -1334,11 +1334,12 @@ static int ax88179_bind(struct usbnet *d
  	dev->mii.phy_id = 0x03;
  	dev->mii.supports_gmii = 1;
  
@@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	ax88179_reset(dev);
  
-@@ -1502,17 +1503,19 @@ ax88179_tx_fixup(struct usbnet *dev, str
+@@ -1503,17 +1504,19 @@ ax88179_tx_fixup(struct usbnet *dev, str
  {
  	u32 tx_hdr1, tx_hdr2;
  	int frame_size = dev->maxpacket;
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	if ((skb_header_cloned(skb) || headroom < 0) &&
  	    pskb_expand_head(skb, headroom < 0 ? 8 : 0, 0, GFP_ATOMIC)) {
  		dev_kfree_skb_any(skb);
-@@ -1523,6 +1526,8 @@ ax88179_tx_fixup(struct usbnet *dev, str
+@@ -1524,6 +1527,8 @@ ax88179_tx_fixup(struct usbnet *dev, str
  	put_unaligned_le32(tx_hdr1, ptr);
  	put_unaligned_le32(tx_hdr2, ptr + 4);
  
diff --git a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch
index 70a0a1ef60..7e966604a6 100644
--- a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch
+++ b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
   */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2870,6 +2870,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2872,6 +2872,10 @@ static inline int pskb_trim(struct sk_bu
  	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  }
  
@@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  /**
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	@skb: buffer to alter
-@@ -3020,16 +3024,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -3022,16 +3026,6 @@ static inline struct sk_buff *dev_alloc_
  }
  
  
diff --git a/target/linux/generic/hack-5.15/726-net-eth-dpaa2-eth-do-not-hold-rtnl_lock.patch b/target/linux/generic/hack-5.15/726-net-eth-dpaa2-eth-do-not-hold-rtnl_lock.patch
index bff41aa2a4..f2d8d6d720 100644
--- a/target/linux/generic/hack-5.15/726-net-eth-dpaa2-eth-do-not-hold-rtnl_lock.patch
+++ b/target/linux/generic/hack-5.15/726-net-eth-dpaa2-eth-do-not-hold-rtnl_lock.patch
@@ -27,7 +27,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
 
 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
 +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
-@@ -4215,12 +4215,10 @@ static irqreturn_t dpni_irq0_handler_thr
+@@ -4219,12 +4219,10 @@ static irqreturn_t dpni_irq0_handler_thr
  		dpaa2_eth_set_mac_addr(netdev_priv(net_dev));
  		dpaa2_eth_update_tx_fqids(priv);
  
@@ -40,7 +40,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
  	}
  
  	return IRQ_HANDLED;
-@@ -4516,9 +4514,7 @@ static int dpaa2_eth_remove(struct fsl_m
+@@ -4520,9 +4518,7 @@ static int dpaa2_eth_remove(struct fsl_m
  #endif
  
  	unregister_netdev(net_dev);
diff --git a/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch b/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch
index e7372b31d1..7a0a3717ee 100644
--- a/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch
+++ b/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch
@@ -38,7 +38,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  		// Lantech 8330-262D-E can operate at 2500base-X, but
  		// incorrectly report 2500MBd NRZ in their EEPROM
  		.vendor = "Lantech",
-@@ -2319,7 +2324,8 @@ static void sfp_sm_main(struct sfp *sfp,
+@@ -2318,7 +2323,8 @@ static void sfp_sm_main(struct sfp *sfp,
  			 * or t_start_up, so assume there is a fault.
  			 */
  			sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
@@ -48,7 +48,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  		} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
  	init_done:
  			sfp->sm_phy_retries = R_PHY_RETRY;
-@@ -2542,10 +2548,12 @@ static void sfp_check_state(struct sfp *
+@@ -2541,10 +2547,12 @@ static void sfp_check_state(struct sfp *
  	mutex_lock(&sfp->st_mutex);
  	state = sfp_get_state(sfp);
  	changed = state ^ sfp->state;
diff --git a/target/linux/generic/hack-5.15/902-debloat_proc.patch b/target/linux/generic/hack-5.15/902-debloat_proc.patch
index 4404d3456e..a161ed90d5 100644
--- a/target/linux/generic/hack-5.15/902-debloat_proc.patch
+++ b/target/linux/generic/hack-5.15/902-debloat_proc.patch
@@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3900,6 +3900,8 @@ static __net_initdata struct pernet_oper
+@@ -3894,6 +3894,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
diff --git a/target/linux/generic/pending-5.15/630-packet_socket_type.patch b/target/linux/generic/pending-5.15/630-packet_socket_type.patch
index 486ba9dee9..85434c93dc 100644
--- a/target/linux/generic/pending-5.15/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-5.15/630-packet_socket_type.patch
@@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  		goto drop;
  
-@@ -3345,6 +3347,7 @@ static int packet_create(struct net *net
+@@ -3343,6 +3345,7 @@ static int packet_create(struct net *net
  	mutex_init(&po->pg_vec_lock);
  	po->rollover = NULL;
  	po->prot_hook.func = packet_rcv;
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  	if (sock->type == SOCK_PACKET)
  		po->prot_hook.func = packet_rcv_spkt;
-@@ -3982,6 +3985,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3980,6 +3983,16 @@ packet_setsockopt(struct socket *sock, i
  		WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
  		return 0;
  	}
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	default:
  		return -ENOPROTOOPT;
  	}
-@@ -4038,6 +4051,13 @@ static int packet_getsockopt(struct sock
+@@ -4036,6 +4049,13 @@ static int packet_getsockopt(struct sock
  	case PACKET_VNET_HDR:
  		val = po->has_vnet_hdr;
  		break;
diff --git a/target/linux/generic/pending-5.15/655-increase_skb_pad.patch b/target/linux/generic/pending-5.15/655-increase_skb_pad.patch
index e9075f43c8..82b7547a44 100644
--- a/target/linux/generic/pending-5.15/655-increase_skb_pad.patch
+++ b/target/linux/generic/pending-5.15/655-increase_skb_pad.patch
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2836,7 +2836,7 @@ static inline int pskb_network_may_pull(
+@@ -2838,7 +2838,7 @@ static inline int pskb_network_may_pull(
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
  #ifndef NET_SKB_PAD
diff --git a/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index d4e274e9a4..1f0f68cce6 100644
--- a/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-5.15/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
  	.dst = {
  		.__refcnt	= ATOMIC_INIT(1),
-@@ -1034,6 +1048,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1036,6 +1050,7 @@ static const int fib6_prop[RTN_MAX + 1]
  	[RTN_BLACKHOLE]	= -EINVAL,
  	[RTN_UNREACHABLE] = -EHOSTUNREACH,
  	[RTN_PROHIBIT]	= -EACCES,
@@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	[RTN_THROW]	= -EAGAIN,
  	[RTN_NAT]	= -EINVAL,
  	[RTN_XRESOLVE]	= -EINVAL,
-@@ -1069,6 +1084,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1071,6 +1086,10 @@ static void ip6_rt_init_dst_reject(struc
  		rt->dst.output = ip6_pkt_prohibit_out;
  		rt->dst.input = ip6_pkt_prohibit;
  		break;
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	case RTN_THROW:
  	case RTN_UNREACHABLE:
  	default:
-@@ -4561,6 +4580,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4564,6 +4583,17 @@ static int ip6_pkt_prohibit_out(struct n
  	return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  /*
   *	Allocate a dst for local (unicast / anycast) address.
   */
-@@ -5048,7 +5078,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -5051,7 +5081,8 @@ static int rtm_to_fib6_config(struct sk_
  	if (rtm->rtm_type == RTN_UNREACHABLE ||
  	    rtm->rtm_type == RTN_BLACKHOLE ||
  	    rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		cfg->fc_flags |= RTF_REJECT;
  
  	if (rtm->rtm_type == RTN_LOCAL)
-@@ -6295,6 +6326,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6298,6 +6329,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
  		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
  		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -6306,6 +6339,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6309,6 +6342,7 @@ static int ip6_route_dev_notify(struct n
  		in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
  	}
-@@ -6497,6 +6531,8 @@ static int __net_init ip6_route_net_init
+@@ -6500,6 +6534,8 @@ static int __net_init ip6_route_net_init
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  	net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
  					       sizeof(*net->ipv6.ip6_prohibit_entry),
  					       GFP_KERNEL);
-@@ -6507,11 +6543,21 @@ static int __net_init ip6_route_net_init
+@@ -6510,11 +6546,21 @@ static int __net_init ip6_route_net_init
  			 ip6_template_metrics, true);
  	INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
  
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
  	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
  			 ip6_template_metrics, true);
-@@ -6538,6 +6584,8 @@ out:
+@@ -6541,6 +6587,8 @@ out:
  	return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  out_ip6_prohibit_entry:
  	kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -6557,6 +6605,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6560,6 +6608,7 @@ static void __net_exit ip6_route_net_exi
  	kfree(net->ipv6.ip6_null_entry);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  	kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
  	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6640,6 +6689,9 @@ void __init ip6_route_init_special_entri
+@@ -6643,6 +6692,9 @@ void __init ip6_route_init_special_entri
  	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
  	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/target/linux/generic/pending-5.15/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-5.15/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
index 3037a724bf..23c0875aed 100644
--- a/target/linux/generic/pending-5.15/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
+++ b/target/linux/generic/pending-5.15/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -7811,7 +7811,7 @@ static int nft_register_flowtable_net_ho
+@@ -7810,7 +7810,7 @@ static int nft_register_flowtable_net_ho
  		err = flowtable->data.type->setup(&flowtable->data,
  						  hook->ops.dev,
  						  FLOW_BLOCK_BIND);
diff --git a/target/linux/generic/pending-5.15/750-skb-Do-mix-page-pool-and-page-referenced-frags-in-GR.patch b/target/linux/generic/pending-5.15/750-skb-Do-mix-page-pool-and-page-referenced-frags-in-GR.patch
index ec3e57031b..62ead9566b 100644
--- a/target/linux/generic/pending-5.15/750-skb-Do-mix-page-pool-and-page-referenced-frags-in-GR.patch
+++ b/target/linux/generic/pending-5.15/750-skb-Do-mix-page-pool-and-page-referenced-frags-in-GR.patch
@@ -17,7 +17,7 @@ Signed-off-by: Alexander Duyck <alexanderduyck at fb.com>
 
 --- a/net/core/skbuff.c
 +++ b/net/core/skbuff.c
-@@ -4371,6 +4371,15 @@ int skb_gro_receive(struct sk_buff *p, s
+@@ -4395,6 +4395,15 @@ int skb_gro_receive(struct sk_buff *p, s
  	if (unlikely(p->len + len >= 65536 || NAPI_GRO_CB(skb)->flush))
  		return -E2BIG;
  
diff --git a/target/linux/generic/pending-5.15/779-net-vxlan-don-t-learn-non-unicast-L2-destinations.patch b/target/linux/generic/pending-5.15/779-net-vxlan-don-t-learn-non-unicast-L2-destinations.patch
deleted file mode 100644
index 6c1f596759..0000000000
--- a/target/linux/generic/pending-5.15/779-net-vxlan-don-t-learn-non-unicast-L2-destinations.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3f1a227cb071f65f6ecc4db9f399649869735a7c Mon Sep 17 00:00:00 2001
-From: David Bauer <mail at david-bauer.net>
-Date: Sat, 17 Feb 2024 22:34:59 +0100
-Subject: [PATCH] net vxlan: don't learn non-unicast L2 destinations
-
-This patch avoids learning non-unicast targets in the vxlan FDB.
-They are non-unicast and thus should be sent to the broadcast-IPv6
-instead of a unicast address.
-
-Link: https://lore.kernel.org/netdev/15ee0cc7-9252-466b-8ce7-5225d605dde8@david-bauer.net/
-Link: https://github.com/freifunk-gluon/gluon/issues/3191
-
-Signed-off-by: David Bauer <mail at david-bauer.net>
----
- drivers/net/vxlan.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/drivers/net/vxlan/vxlan_core.c
-+++ b/drivers/net/vxlan/vxlan_core.c
-@@ -1493,6 +1493,10 @@ static bool vxlan_snoop(struct net_devic
- 	struct vxlan_fdb *f;
- 	u32 ifindex = 0;
- 
-+	/* Don't learn broadcast packets */
-+	if (is_multicast_ether_addr(src_mac) || is_zero_ether_addr(src_mac))
-+		return false;
-+
- #if IS_ENABLED(CONFIG_IPV6)
- 	if (src_ip->sa.sa_family == AF_INET6 &&
- 	    (ipv6_addr_type(&src_ip->sin6.sin6_addr) & IPV6_ADDR_LINKLOCAL))
diff --git a/target/linux/lantiq/patches-5.15/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-5.15/0001-MIPS-lantiq-add-pcie-driver.patch
index b0f8492d1b..301e985d0b 100644
--- a/target/linux/lantiq/patches-5.15/0001-MIPS-lantiq-add-pcie-driver.patch
+++ b/target/linux/lantiq/patches-5.15/0001-MIPS-lantiq-add-pcie-driver.patch
@@ -5479,7 +5479,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  	  (transaction layer end-to-end CRC checking).
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
-@@ -1483,6 +1483,8 @@ void pci_walk_bus(struct pci_bus *top, i
+@@ -1492,6 +1492,8 @@ void pci_walk_bus(struct pci_bus *top, i
  		  void *userdata);
  int pci_cfg_space_size(struct pci_dev *dev);
  unsigned char pci_bus_max_busnr(struct pci_bus *bus);
diff --git a/target/linux/mediatek/patches-5.15/702-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch b/target/linux/mediatek/patches-5.15/702-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch
deleted file mode 100644
index da33aaa72f..0000000000
--- a/target/linux/mediatek/patches-5.15/702-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From c6af53f038aa32cec12e8a305ba07c7ef168f1b0 Mon Sep 17 00:00:00 2001
-From: "Russell King (Oracle)" <rmk+kernel at armlinux.org.uk>
-Date: Tue, 4 Jan 2022 12:07:00 +0000
-Subject: [PATCH 2/3] net: mdio: add helpers to extract clause 45 regad and
- devad fields
-
-Add a couple of helpers and definitions to extract the clause 45 regad
-and devad fields from the regnum passed into MDIO drivers.
-
-Tested-by: Daniel Golle <daniel at makrotopia.org>
-Reviewed-by: Andrew Lunn <andrew at lunn.ch>
-Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
-Signed-off-by: Daniel Golle <daniel at makrotopia.org>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- include/linux/mdio.h | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
---- a/include/linux/mdio.h
-+++ b/include/linux/mdio.h
-@@ -7,6 +7,7 @@
- #define __LINUX_MDIO_H__
- 
- #include <uapi/linux/mdio.h>
-+#include <linux/bitfield.h>
- #include <linux/mod_devicetable.h>
- 
- /* Or MII_ADDR_C45 into regnum for read/write on mii_bus to enable the 21 bit
-@@ -14,6 +15,7 @@
-  */
- #define MII_ADDR_C45		(1<<30)
- #define MII_DEVADDR_C45_SHIFT	16
-+#define MII_DEVADDR_C45_MASK	GENMASK(20, 16)
- #define MII_REGADDR_C45_MASK	GENMASK(15, 0)
- 
- struct gpio_desc;
-@@ -355,6 +357,16 @@ static inline u32 mdiobus_c45_addr(int d
- 	return MII_ADDR_C45 | devad << MII_DEVADDR_C45_SHIFT | regnum;
- }
- 
-+static inline u16 mdiobus_c45_regad(u32 regnum)
-+{
-+	return FIELD_GET(MII_REGADDR_C45_MASK, regnum);
-+}
-+
-+static inline u16 mdiobus_c45_devad(u32 regnum)
-+{
-+	return FIELD_GET(MII_DEVADDR_C45_MASK, regnum);
-+}
-+
- static inline int __mdiobus_c45_read(struct mii_bus *bus, int prtad, int devad,
- 				     u16 regnum)
- {
diff --git a/target/linux/realtek/patches-5.15/020-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch b/target/linux/realtek/patches-5.15/020-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch
deleted file mode 100644
index da33aaa72f..0000000000
--- a/target/linux/realtek/patches-5.15/020-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From c6af53f038aa32cec12e8a305ba07c7ef168f1b0 Mon Sep 17 00:00:00 2001
-From: "Russell King (Oracle)" <rmk+kernel at armlinux.org.uk>
-Date: Tue, 4 Jan 2022 12:07:00 +0000
-Subject: [PATCH 2/3] net: mdio: add helpers to extract clause 45 regad and
- devad fields
-
-Add a couple of helpers and definitions to extract the clause 45 regad
-and devad fields from the regnum passed into MDIO drivers.
-
-Tested-by: Daniel Golle <daniel at makrotopia.org>
-Reviewed-by: Andrew Lunn <andrew at lunn.ch>
-Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
-Signed-off-by: Daniel Golle <daniel at makrotopia.org>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- include/linux/mdio.h | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
---- a/include/linux/mdio.h
-+++ b/include/linux/mdio.h
-@@ -7,6 +7,7 @@
- #define __LINUX_MDIO_H__
- 
- #include <uapi/linux/mdio.h>
-+#include <linux/bitfield.h>
- #include <linux/mod_devicetable.h>
- 
- /* Or MII_ADDR_C45 into regnum for read/write on mii_bus to enable the 21 bit
-@@ -14,6 +15,7 @@
-  */
- #define MII_ADDR_C45		(1<<30)
- #define MII_DEVADDR_C45_SHIFT	16
-+#define MII_DEVADDR_C45_MASK	GENMASK(20, 16)
- #define MII_REGADDR_C45_MASK	GENMASK(15, 0)
- 
- struct gpio_desc;
-@@ -355,6 +357,16 @@ static inline u32 mdiobus_c45_addr(int d
- 	return MII_ADDR_C45 | devad << MII_DEVADDR_C45_SHIFT | regnum;
- }
- 
-+static inline u16 mdiobus_c45_regad(u32 regnum)
-+{
-+	return FIELD_GET(MII_REGADDR_C45_MASK, regnum);
-+}
-+
-+static inline u16 mdiobus_c45_devad(u32 regnum)
-+{
-+	return FIELD_GET(MII_DEVADDR_C45_MASK, regnum);
-+}
-+
- static inline int __mdiobus_c45_read(struct mii_bus *bus, int prtad, int devad,
- 				     u16 regnum)
- {
diff --git a/target/linux/realtek/patches-5.15/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch b/target/linux/realtek/patches-5.15/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch
index 378563a9e3..f44f7013af 100644
--- a/target/linux/realtek/patches-5.15/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch
+++ b/target/linux/realtek/patches-5.15/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch
@@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart at bootlin.com>
 
 --- a/drivers/net/phy/sfp.c
 +++ b/drivers/net/phy/sfp.c
-@@ -2160,6 +2160,13 @@ static void sfp_sm_module(struct sfp *sf
+@@ -2159,6 +2159,13 @@ static void sfp_sm_module(struct sfp *sf
  		return;
  	}
  




More information about the lede-commits mailing list