From 0b7311300b01d9975e9996327ee469e4f66fb2ec Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Sat, 6 Nov 2021 19:29:39 +0000
Subject: [PATCH] kernel: bump 5.4 to 5.4.158

Removed upstreamed:
  generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch

All others updated automatically.

Compile-tested on: lantiq/xrx200, armvirt/64
Runtime-tested on: lantiq/xrx200, armvirt/64

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 include/kernel-version.mk                     |  4 +-
 ...mware-loader-for-uPD720201-and-uPD72.patch | 10 ++--
 .../802-usb-xhci-force-msi-renesas-xhci.patch |  2 +-
 ...Show-that-the-VIA-VL805-supports-LPM.patch |  2 +-
 ...-for-updating-interrupt-endpoint-int.patch |  4 +-
 ...hci_fixup_endpoint-for-interval-adju.patch |  4 +-
 ...or-host-controllers-that-don-t-updat.patch |  6 +-
 ...-0504-mmc-sdhci-Silence-MMC-warnings.patch |  4 +-
 ...-quirks-add-link-TRB-quirk-for-VL805.patch |  4 +-
 ...ast-GRO-for-skbs-with-Ethernet-heade.patch |  2 +-
 ...-net-phy-add-core-phylib-sfp-support.patch |  4 +-
 ...-not-propagate-bridge-updates-across.patch | 60 -------------------
 ...sfs-attributes-for-VPD-pages-0h-and-.patch | 10 ++--
 .../generic/hack-5.4/220-gc_sections.patch    |  2 +-
 .../generic/hack-5.4/721-phy_packets.patch    |  2 +-
 ...ng-with-source-address-failed-policy.patch | 26 ++++----
 ...T-skip-GRO-for-foreign-MAC-addresses.patch | 10 ++--
 ...dd-support-for-threaded-NAPI-polling.patch | 14 ++---
 .../811-pci_disable_usb_common_quirks.patch   |  2 +-
 ...arch-arm-force-ZRELADDR-on-arch-qcom.patch |  2 +-
 ...Mangle-bootloader-s-kernel-arguments.patch |  2 +-
 .../900-arm-add-cmdline-override.patch        |  2 +-
 ...5-NET-MIPS-lantiq-adds-xrx200-legacy.patch |  2 +-
 ...move-EH-SINGLE_STEP_SET_FEATURE-impl.patch |  4 +-
 ...host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch |  4 +-
 ...host-xhci-do-not-return-error-status.patch |  2 +-
 ...-host-xhci-add-.bus_suspend-override.patch |  2 +-
 .../901-fix_irq_type_of_pca953x.patch         |  2 +-
 ...Mangle-bootloader-s-kernel-arguments.patch |  2 +-
 ...Mangle-bootloader-s-kernel-arguments.patch |  2 +-
 .../patches-5.4/200-add-ralink-eth.patch      |  2 +-
 .../990-NET-no-auto-carrier-off-support.patch |  4 +-
 ...net-add-support-for-rtl838x-ethernet.patch |  2 +-
 33 files changed, 73 insertions(+), 133 deletions(-)
 delete mode 100644 target/linux/generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 83bfcd8ff2..688660cbbd 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-5.4 = .154
+LINUX_VERSION-5.4 = .158
 
-LINUX_KERNEL_HASH-5.4.154 = 058994f4666b6b0474a4d5228583e394594e406783b7e93d487c2a66c35f3c06
+LINUX_KERNEL_HASH-5.4.158 = 6e018fecdc8fc24553756e582d83b82d65b10a6b03ef36262a24911f839b8d59
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
diff --git a/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
index 980a0407db..220e5da73b 100644
--- a/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
+++ b/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
@@ -48,7 +48,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
  
  #include "xhci.h"
  #include "xhci-trace.h"
-@@ -64,6 +66,44 @@
+@@ -65,6 +67,44 @@
  #define PCI_DEVICE_ID_ASMEDIA_2142_XHCI			0x2142
  #define PCI_DEVICE_ID_ASMEDIA_3242_XHCI			0x3242
  
@@ -93,7 +93,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
  static const char hcd_name[] = "xhci_hcd";
  
  static struct hc_driver __read_mostly xhci_pci_hc_driver;
-@@ -309,6 +349,873 @@ static void xhci_pme_acpi_rtd3_enable(st
+@@ -311,6 +351,873 @@ static void xhci_pme_acpi_rtd3_enable(st
  static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
  #endif /* CONFIG_ACPI */
  
@@ -967,7 +967,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
  /* called during probe() after chip reset completes */
  static int xhci_pci_setup(struct usb_hcd *hcd)
  {
-@@ -350,6 +1257,27 @@ static int xhci_pci_probe(struct pci_dev
+@@ -352,6 +1259,27 @@ static int xhci_pci_probe(struct pci_dev
  	struct hc_driver *driver;
  	struct usb_hcd *hcd;
  
@@ -995,7 +995,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
  	driver = (struct hc_driver *)id->driver_data;
  
  	/* Prevent runtime suspending between USB-2 and USB-3 initialization */
-@@ -411,6 +1339,16 @@ static void xhci_pci_remove(struct pci_d
+@@ -413,6 +1341,16 @@ static void xhci_pci_remove(struct pci_d
  {
  	struct xhci_hcd *xhci;
  
@@ -1012,7 +1012,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
  	xhci = hcd_to_xhci(pci_get_drvdata(dev));
  	xhci->xhc_state |= XHCI_STATE_REMOVING;
  
-@@ -550,6 +1488,11 @@ static int xhci_pci_resume(struct usb_hc
+@@ -552,6 +1490,11 @@ static int xhci_pci_resume(struct usb_hc
  	if (pdev->vendor == PCI_VENDOR_ID_INTEL)
  		usb_enable_intel_xhci_ports(pdev);
  
diff --git a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch
index 4217a1e949..6980ce80ee 100644
--- a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch
+++ b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch
@@ -13,7 +13,7 @@ produce a noisy warning.
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -288,6 +288,7 @@ static void xhci_pci_quirks(struct devic
+@@ -290,6 +290,7 @@ static void xhci_pci_quirks(struct devic
  	    pdev->device == 0x0015) {
  		xhci->quirks |= XHCI_RESET_ON_RESUME;
  		xhci->quirks |= XHCI_ZERO_64B_REGS;
diff --git a/target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch b/target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch
index 5679126103..cf3cb58362 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch
@@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -257,6 +257,10 @@ static void xhci_pci_quirks(struct devic
+@@ -259,6 +259,10 @@ static void xhci_pci_quirks(struct devic
  			pdev->device == 0x3432)
  		xhci->quirks |= XHCI_BROKEN_STREAMS;
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
index 9e886ee2df..f654cd8a57 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
@@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  extern int usb_driver_set_configuration(struct usb_device *udev, int config);
 --- a/include/linux/usb/hcd.h
 +++ b/include/linux/usb/hcd.h
-@@ -384,6 +384,11 @@ struct hc_driver {
+@@ -382,6 +382,11 @@ struct hc_driver {
  		 * or bandwidth constraints.
  		 */
  	void	(*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
@@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  		/* Returns the hardware-chosen device address */
  	int	(*address_device)(struct usb_hcd *, struct usb_device *udev);
  		/* prepares the hardware to send commands to the device */
-@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
+@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_
  extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
  extern void usb_hcd_flush_endpoint(struct usb_device *udev,
  		struct usb_host_endpoint *ep);
diff --git a/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
index 1016627521..b316ef8180 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -1469,6 +1469,103 @@ command_cleanup:
+@@ -1468,6 +1468,103 @@ command_cleanup:
  }
  
  /*
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
   * non-error returns are a promise to giveback() the urb later
   * we drop ownership so next owner (or urb unlink) can get it
   */
-@@ -5358,6 +5455,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5362,6 +5459,7 @@ static const struct hc_driver xhci_hc_dr
  	.endpoint_reset =	xhci_endpoint_reset,
  	.check_bandwidth =	xhci_check_bandwidth,
  	.reset_bandwidth =	xhci_reset_bandwidth,
diff --git a/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch b/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
index 947b00b398..683f0905ef 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -258,8 +258,10 @@ static void xhci_pci_quirks(struct devic
+@@ -260,8 +260,10 @@ static void xhci_pci_quirks(struct devic
  		xhci->quirks |= XHCI_BROKEN_STREAMS;
  
  	if (pdev->vendor == PCI_VENDOR_ID_VIA &&
@@ -37,7 +37,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  		pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -550,7 +550,10 @@ void xhci_find_new_dequeue_state(struct
+@@ -556,7 +556,10 @@ void xhci_find_new_dequeue_state(struct
  	struct xhci_virt_ep *ep = &dev->eps[ep_index];
  	struct xhci_ring *ep_ring;
  	struct xhci_segment *new_seg;
@@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  	dma_addr_t addr;
  	u64 hw_dequeue;
  	bool cycle_found = false;
-@@ -588,7 +591,28 @@ void xhci_find_new_dequeue_state(struct
+@@ -594,7 +597,28 @@ void xhci_find_new_dequeue_state(struct
  	hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id);
  	new_seg = ep_ring->deq_seg;
  	new_deq = ep_ring->dequeue;
diff --git a/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch b/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch
index 89fd58dca0..ba815eecfd 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch
@@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
  
  #define MAX_TUNING_LOOP 40
  
-@@ -2762,7 +2762,7 @@ static void sdhci_timeout_timer(struct t
+@@ -2768,7 +2768,7 @@ static void sdhci_timeout_timer(struct t
  	spin_lock_irqsave(&host->lock, flags);
  
  	if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
  		       mmc_hostname(host->mmc));
  		sdhci_dumpregs(host);
  
-@@ -2784,7 +2784,7 @@ static void sdhci_timeout_data_timer(str
+@@ -2790,7 +2790,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.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-5.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
index 627ec30f06..cc05573eb0 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -261,6 +261,7 @@ static void xhci_pci_quirks(struct devic
+@@ -263,6 +263,7 @@ static void xhci_pci_quirks(struct devic
  			pdev->device == 0x3483) {
  		xhci->quirks |= XHCI_LPM_SUPPORT;
  		xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
@@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  	if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -647,6 +647,16 @@ void xhci_find_new_dequeue_state(struct
+@@ -653,6 +653,16 @@ void xhci_find_new_dequeue_state(struct
  
  	} while (!cycle_found || !td_last_trb_found);
  
diff --git a/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch b/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch
index eeea18bb9c..13f0d9d000 100644
--- a/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch
+++ b/target/linux/generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch
@@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -5423,8 +5423,7 @@ static inline void skb_gro_reset_offset(
+@@ -5429,8 +5429,7 @@ static inline void skb_gro_reset_offset(
  	NAPI_GRO_CB(skb)->frag0 = NULL;
  	NAPI_GRO_CB(skb)->frag0_len = 0;
  
diff --git a/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch b/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch
index 11da9540e9..edfe151725 100644
--- a/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch
+++ b/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch
@@ -24,7 +24,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  #include <linux/workqueue.h>
  #include <linux/mdio.h>
  #include <linux/io.h>
-@@ -843,6 +844,9 @@ void phy_stop(struct phy_device *phydev)
+@@ -863,6 +864,9 @@ void phy_stop(struct phy_device *phydev)
  
  	mutex_lock(&phydev->lock);
  
@@ -34,7 +34,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  	phydev->state = PHY_HALTED;
  
  	mutex_unlock(&phydev->lock);
-@@ -905,6 +909,9 @@ void phy_state_machine(struct work_struc
+@@ -925,6 +929,9 @@ void phy_state_machine(struct work_struc
  
  	old_state = phydev->state;
  
diff --git a/target/linux/generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch b/target/linux/generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch
deleted file mode 100644
index bc8014b772..0000000000
--- a/target/linux/generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 07c6f9805f12f1bb538ef165a092b300350384aa Mon Sep 17 00:00:00 2001
-From: Russell King <rmk+kernel@armlinux.org.uk>
-Date: Wed, 26 Feb 2020 17:14:21 +0000
-Subject: [PATCH] net: switchdev: do not propagate bridge updates across
- bridges
-
-When configuring a tree of independent bridges, propagating changes
-from the upper bridge across a bridge master to the lower bridge
-ports brings surprises.
-
-For example, a lower bridge may have vlan filtering enabled.  It
-may have a vlan interface attached to the bridge master, which may
-then be incorporated into another bridge.  As soon as the lower
-bridge vlan interface is attached to the upper bridge, the lower
-bridge has vlan filtering disabled.
-
-This occurs because switchdev recursively applies its changes to
-all lower devices no matter what.
-
-Reviewed-by: Ido Schimmel <idosch@mellanox.com>
-Tested-by: Ido Schimmel <idosch@mellanox.com>
-Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/switchdev/switchdev.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/net/switchdev/switchdev.c
-+++ b/net/switchdev/switchdev.c
-@@ -476,6 +476,9 @@ static int __switchdev_handle_port_obj_a
- 	 * necessary to go through this helper.
- 	 */
- 	netdev_for_each_lower_dev(dev, lower_dev, iter) {
-+		if (netif_is_bridge_master(lower_dev))
-+			continue;
-+
- 		err = __switchdev_handle_port_obj_add(lower_dev, port_obj_info,
- 						      check_cb, add_cb);
- 		if (err && err != -EOPNOTSUPP)
-@@ -528,6 +531,9 @@ static int __switchdev_handle_port_obj_d
- 	 * necessary to go through this helper.
- 	 */
- 	netdev_for_each_lower_dev(dev, lower_dev, iter) {
-+		if (netif_is_bridge_master(lower_dev))
-+			continue;
-+
- 		err = __switchdev_handle_port_obj_del(lower_dev, port_obj_info,
- 						      check_cb, del_cb);
- 		if (err && err != -EOPNOTSUPP)
-@@ -579,6 +585,9 @@ static int __switchdev_handle_port_attr_
- 	 * necessary to go through this helper.
- 	 */
- 	netdev_for_each_lower_dev(dev, lower_dev, iter) {
-+		if (netif_is_bridge_master(lower_dev))
-+			continue;
-+
- 		err = __switchdev_handle_port_attr_set(lower_dev, port_attr_info,
- 						       check_cb, set_cb);
- 		if (err && err != -EOPNOTSUPP)
diff --git a/target/linux/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch b/target/linux/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
index 438588f9f4..8c18d5df6d 100644
--- a/target/linux/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
+++ b/target/linux/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
@@ -41,9 +41,9 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  	struct scsi_vpd *vpd_pg80 = NULL, *vpd_pg83 = NULL;
 +	struct scsi_vpd *vpd_pg0 = NULL, *vpd_pg89 = NULL;
  	unsigned long flags;
+ 	struct module *mod;
  
- 	sdev = container_of(work, struct scsi_device, ew.work);
-@@ -466,16 +467,24 @@ static void scsi_device_dev_release_user
+@@ -469,16 +470,24 @@ static void scsi_device_dev_release_user
  	sdev->request_queue = NULL;
  
  	mutex_lock(&sdev->inquiry_mutex);
@@ -68,7 +68,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  	kfree(sdev->inquiry);
  	kfree(sdev);
  
-@@ -874,6 +883,8 @@ static struct bin_attribute dev_attr_vpd
+@@ -883,6 +892,8 @@ static struct bin_attribute dev_attr_vpd
  
  sdev_vpd_pg_attr(pg83);
  sdev_vpd_pg_attr(pg80);
@@ -77,7 +77,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  
  static ssize_t show_inquiry(struct file *filep, struct kobject *kobj,
  			    struct bin_attribute *bin_attr,
-@@ -1206,12 +1217,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
+@@ -1215,12 +1226,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
  	struct scsi_device *sdev = to_scsi_device(dev);
  
  
@@ -96,7 +96,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  	return S_IRUGO;
  }
  
-@@ -1254,8 +1271,10 @@ static struct attribute *scsi_sdev_attrs
+@@ -1263,8 +1280,10 @@ static struct attribute *scsi_sdev_attrs
  };
  
  static struct bin_attribute *scsi_sdev_bin_attrs[] = {
diff --git a/target/linux/generic/hack-5.4/220-gc_sections.patch b/target/linux/generic/hack-5.4/220-gc_sections.patch
index 6207eb0ec9..fdfaf51406 100644
--- a/target/linux/generic/hack-5.4/220-gc_sections.patch
+++ b/target/linux/generic/hack-5.4/220-gc_sections.patch
@@ -21,7 +21,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -111,6 +111,7 @@ config ARM
+@@ -112,6 +112,7 @@ config ARM
  	select HAVE_UID16
  	select HAVE_VIRT_CPU_ACCOUNTING_GEN
  	select IRQ_FORCED_THREADING
diff --git a/target/linux/generic/hack-5.4/721-phy_packets.patch b/target/linux/generic/hack-5.4/721-phy_packets.patch
index 836fc54ba2..bc9b3a4783 100644
--- a/target/linux/generic/hack-5.4/721-phy_packets.patch
+++ b/target/linux/generic/hack-5.4/721-phy_packets.patch
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3192,10 +3192,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3198,10 +3198,20 @@ static int xmit_one(struct sk_buff *skb,
  	if (dev_nit_active(dev))
  		dev_queue_xmit_nit(skb, dev);
  
diff --git a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 0b95eee494..06227cfafe 100644
--- a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -110,7 +110,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  		return -EINVAL;
 --- a/net/ipv6/route.c
 +++ b/net/ipv6/route.c
-@@ -93,6 +93,8 @@ static int		ip6_pkt_discard(struct sk_bu
+@@ -94,6 +94,8 @@ static int		ip6_pkt_discard(struct sk_bu
  static int		ip6_pkt_discard_out(struct net *net, struct sock *sk, struct sk_buff *skb);
  static int		ip6_pkt_prohibit(struct sk_buff *skb);
  static int		ip6_pkt_prohibit_out(struct net *net, struct sock *sk, struct sk_buff *skb);
@@ -119,7 +119,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static void		ip6_link_failure(struct sk_buff *skb);
  static void		ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk,
  					   struct sk_buff *skb, u32 mtu,
-@@ -326,6 +328,18 @@ static const struct rt6_info ip6_prohibi
+@@ -327,6 +329,18 @@ static const struct rt6_info ip6_prohibi
  	.rt6i_flags	= (RTF_REJECT | RTF_NONEXTHOP),
  };
  
@@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
  	.dst = {
  		.__refcnt	= ATOMIC_INIT(1),
-@@ -1047,6 +1061,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1048,6 +1062,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@openwrt.org>
  	[RTN_THROW]	= -EAGAIN,
  	[RTN_NAT]	= -EINVAL,
  	[RTN_XRESOLVE]	= -EINVAL,
-@@ -1084,6 +1099,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1085,6 +1100,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@openwrt.org>
  	case RTN_THROW:
  	case RTN_UNREACHABLE:
  	default:
-@@ -4426,6 +4445,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4434,6 +4453,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@openwrt.org>
  /*
   *	Allocate a dst for local (unicast / anycast) address.
   */
-@@ -4906,7 +4936,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -4914,7 +4944,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@openwrt.org>
  		cfg->fc_flags |= RTF_REJECT;
  
  	if (rtm->rtm_type == RTN_LOCAL)
-@@ -6029,6 +6060,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6037,6 +6068,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@openwrt.org>
  		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
  		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -6040,6 +6073,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6048,6 +6081,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@openwrt.org>
  		in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
  	}
-@@ -6232,6 +6266,8 @@ static int __net_init ip6_route_net_init
+@@ -6240,6 +6274,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@openwrt.org>
  	net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
  					       sizeof(*net->ipv6.ip6_prohibit_entry),
  					       GFP_KERNEL);
-@@ -6242,11 +6278,21 @@ static int __net_init ip6_route_net_init
+@@ -6250,11 +6286,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@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);
-@@ -6270,6 +6316,8 @@ out:
+@@ -6278,6 +6324,8 @@ out:
  	return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
  	kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -6289,6 +6337,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6297,6 +6345,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@openwrt.org>
  	kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
  	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6366,6 +6415,9 @@ void __init ip6_route_init_special_entri
+@@ -6374,6 +6423,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.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 4839ac5e70..e0540866c6 100644
--- a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	__u16			tc_index;	/* traffic control index */
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -5489,6 +5489,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5495,6 +5495,9 @@ static enum gro_result dev_gro_receive(s
  	int same_flow;
  	int grow;
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	if (netif_elide_gro(skb->dev))
  		goto normal;
  
-@@ -7291,6 +7294,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7297,6 +7300,48 @@ static void __netdev_adjacent_dev_unlink
  					   &upper_dev->adj_list.lower);
  }
  
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static int __netdev_upper_dev_link(struct net_device *dev,
  				   struct net_device *upper_dev, bool master,
  				   void *upper_priv, void *upper_info,
-@@ -7341,6 +7386,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7347,6 +7392,7 @@ static int __netdev_upper_dev_link(struc
  	if (ret)
  		return ret;
  
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
  					    &changeupper_info.info);
  	ret = notifier_to_errno(ret);
-@@ -7434,6 +7480,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7440,6 +7486,7 @@ void netdev_upper_dev_unlink(struct net_
  
  	__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
  
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
  				      &changeupper_info.info);
  
-@@ -8164,6 +8211,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8170,6 +8217,7 @@ int dev_set_mac_address(struct net_devic
  	if (err)
  		return err;
  	dev->addr_assign_type = NET_ADDR_SET;
diff --git a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch
index f45efdf12b..febec868f4 100644
--- a/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch
+++ b/target/linux/generic/pending-5.4/690-net-add-support-for-threaded-NAPI-polling.patch
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  static int netif_rx_internal(struct sk_buff *skb);
  static int call_netdevice_notifiers_info(unsigned long val,
-@@ -5931,6 +5932,11 @@ void __napi_schedule(struct napi_struct
+@@ -5937,6 +5938,11 @@ void __napi_schedule(struct napi_struct
  {
  	unsigned long flags;
  
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	local_irq_save(flags);
  	____napi_schedule(this_cpu_ptr(&softnet_data), n);
  	local_irq_restore(flags);
-@@ -5982,6 +5988,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
+@@ -5988,6 +5994,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
   */
  void __napi_schedule_irqoff(struct napi_struct *n)
  {
@@ -119,7 +119,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	if (!IS_ENABLED(CONFIG_PREEMPT_RT))
  		____napi_schedule(this_cpu_ptr(&softnet_data), n);
  	else
-@@ -6246,9 +6257,89 @@ static void init_gro_hash(struct napi_st
+@@ -6252,9 +6263,89 @@ static void init_gro_hash(struct napi_st
  	napi->gro_bitmask = 0;
  }
  
@@ -209,7 +209,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	INIT_LIST_HEAD(&napi->poll_list);
  	hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
  	napi->timer.function = napi_watchdog;
-@@ -6265,6 +6356,7 @@ void netif_napi_add(struct net_device *d
+@@ -6271,6 +6362,7 @@ void netif_napi_add(struct net_device *d
  #ifdef CONFIG_NETPOLL
  	napi->poll_owner = -1;
  #endif
@@ -217,7 +217,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	set_bit(NAPI_STATE_SCHED, &napi->state);
  	set_bit(NAPI_STATE_NPSVC, &napi->state);
  	list_add_rcu(&napi->dev_list, &dev->napi_list);
-@@ -6305,6 +6397,7 @@ static void flush_gro_hash(struct napi_s
+@@ -6311,6 +6403,7 @@ static void flush_gro_hash(struct napi_s
  void netif_napi_del(struct napi_struct *napi)
  {
  	might_sleep();
@@ -225,7 +225,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	if (napi_hash_del(napi))
  		synchronize_net();
  	list_del_init(&napi->dev_list);
-@@ -6317,50 +6410,18 @@ EXPORT_SYMBOL(netif_napi_del);
+@@ -6323,50 +6416,18 @@ EXPORT_SYMBOL(netif_napi_del);
  
  static int napi_poll(struct napi_struct *n, struct list_head *repoll)
  {
@@ -280,7 +280,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  	/* Some drivers may have called napi_schedule
  	 * prior to exhausting their budget.
-@@ -10340,6 +10401,10 @@ static int __init net_dev_init(void)
+@@ -10346,6 +10407,10 @@ static int __init net_dev_init(void)
  		sd->backlog.weight = weight_p;
  	}
  
diff --git a/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch
index 86f8a416e9..6e4584c8a1 100644
--- a/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch
@@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
 --- a/include/linux/usb/hcd.h
 +++ b/include/linux/usb/hcd.h
-@@ -485,7 +485,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -483,7 +483,14 @@ extern int usb_hcd_pci_probe(struct pci_
  extern void usb_hcd_pci_remove(struct pci_dev *dev);
  extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
  
diff --git a/target/linux/ipq806x/patches-5.4/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch b/target/linux/ipq806x/patches-5.4/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch
index d3b39ac3e3..6d3e7d9ee0 100644
--- a/target/linux/ipq806x/patches-5.4/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch
+++ b/target/linux/ipq806x/patches-5.4/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch
@@ -33,7 +33,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
 
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -318,7 +318,7 @@ config ARCH_MULTIPLATFORM
+@@ -319,7 +319,7 @@ config ARCH_MULTIPLATFORM
  	depends on MMU
  	select ARM_HAS_SG_CHAIN
  	select ARM_PATCH_PHYS_VIRT
diff --git a/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch
index 751ac10a19..33c77fb729 100644
--- a/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch
+++ b/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch
@@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
 
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -1827,6 +1827,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
+@@ -1828,6 +1828,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
  	  The command-line arguments provided by the boot loader will be
  	  appended to the the device tree bootargs property.
  
diff --git a/target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch b/target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch
index 49cd68b68d..17f20f068c 100644
--- a/target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch
+++ b/target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -1840,6 +1840,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
+@@ -1841,6 +1841,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
  
  endchoice
  
diff --git a/target/linux/lantiq/patches-5.4/0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch b/target/linux/lantiq/patches-5.4/0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch
index 6a2143e17e..a43982f9e1 100644
--- a/target/linux/lantiq/patches-5.4/0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch
+++ b/target/linux/lantiq/patches-5.4/0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch
@@ -16,7 +16,7 @@ Subject: NET: MIPS: lantiq: adds xrx200 ethernet and switch driver
 
 --- a/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
-@@ -108,7 +108,13 @@ config LANTIQ_ETOP
+@@ -109,7 +109,13 @@ config LANTIQ_ETOP
  	tristate "Lantiq SoC ETOP driver"
  	depends on SOC_TYPE_XWAY
  	---help---
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch b/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch
index 3c05330b1a..d43626577b 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch
@@ -335,7 +335,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
  	int             is_setup
 --- a/include/linux/usb/hcd.h
 +++ b/include/linux/usb/hcd.h
-@@ -411,7 +411,10 @@ struct hc_driver {
+@@ -409,7 +409,10 @@ struct hc_driver {
  	int	(*find_raw_port_number)(struct usb_hcd *, int);
  	/* Call for power on/off the port if necessary */
  	int	(*port_power)(struct usb_hcd *hcd, int portnum, bool enable);
@@ -347,7 +347,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
  };
  
  static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
-@@ -476,6 +479,14 @@ int usb_hcd_setup_local_mem(struct usb_h
+@@ -474,6 +477,14 @@ int usb_hcd_setup_local_mem(struct usb_h
  
  struct platform_device;
  extern void usb_hcd_platform_shutdown(struct platform_device *dev);
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch b/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch
index fcad77c1eb..361328cf05 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch
@@ -42,7 +42,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
  			retval = xhci_enter_test_mode(xhci, test_mode, wIndex,
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -3624,6 +3624,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3630,6 +3630,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
  	return 0;
  }
  
@@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
   * bursts that are required to move all packets in this TD.  Only SuperSpeed
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -5385,6 +5385,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5389,6 +5389,7 @@ static const struct hc_driver xhci_hc_dr
  	.disable_usb3_lpm_timeout =	xhci_disable_usb3_lpm_timeout,
  	.find_raw_port_number =	xhci_find_raw_port_number,
  	.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch b/target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch
index 637d514d76..e5394cc6d8 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0017-MLK-19153-2-usb-host-xhci-do-not-return-error-status.patch
@@ -22,7 +22,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
 
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -2091,12 +2091,9 @@ static int process_ctrl_td(struct xhci_h
+@@ -2097,12 +2097,9 @@ static int process_ctrl_td(struct xhci_h
  
  	switch (trb_comp_code) {
  	case COMP_SUCCESS:
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch b/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch
index 060a809f5b..f808b5b556 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch
@@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -5406,6 +5406,8 @@ void xhci_init_driver(struct hc_driver *
+@@ -5410,6 +5410,8 @@ void xhci_init_driver(struct hc_driver *
  			drv->check_bandwidth = over->check_bandwidth;
  		if (over->reset_bandwidth)
  			drv->reset_bandwidth = over->reset_bandwidth;
diff --git a/target/linux/layerscape/patches-5.4/901-fix_irq_type_of_pca953x.patch b/target/linux/layerscape/patches-5.4/901-fix_irq_type_of_pca953x.patch
index a00a240135..5f022ac27f 100644
--- a/target/linux/layerscape/patches-5.4/901-fix_irq_type_of_pca953x.patch
+++ b/target/linux/layerscape/patches-5.4/901-fix_irq_type_of_pca953x.patch
@@ -11,7 +11,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
 
 --- a/drivers/gpio/gpio-pca953x.c
 +++ b/drivers/gpio/gpio-pca953x.c
-@@ -879,10 +879,12 @@ static int pca953x_irq_setup(struct pca9
+@@ -881,10 +881,12 @@ static int pca953x_irq_setup(struct pca9
  	for (i = 0; i < NBANK(chip); i++)
  		chip->irq_stat[i] &= reg_direction[i];
  	mutex_init(&chip->irq_lock);
diff --git a/target/linux/mvebu/patches-5.4/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-5.4/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch
index fd60cdb322..b6b3247c9d 100644
--- a/target/linux/mvebu/patches-5.4/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch
+++ b/target/linux/mvebu/patches-5.4/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch
@@ -28,7 +28,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
 
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -1827,6 +1827,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
+@@ -1828,6 +1828,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
  	  The command-line arguments provided by the boot loader will be
  	  appended to the the device tree bootargs property.
  
diff --git a/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch
index 8c83d55b6c..bc46f308d3 100644
--- a/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch
+++ b/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch
@@ -22,7 +22,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
 
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -1827,6 +1827,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
+@@ -1828,6 +1828,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
  	  The command-line arguments provided by the boot loader will be
  	  appended to the the device tree bootargs property.
  
diff --git a/target/linux/ramips/patches-5.4/200-add-ralink-eth.patch b/target/linux/ramips/patches-5.4/200-add-ralink-eth.patch
index b8fd8e511d..79e7c2309b 100644
--- a/target/linux/ramips/patches-5.4/200-add-ralink-eth.patch
+++ b/target/linux/ramips/patches-5.4/200-add-ralink-eth.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
-@@ -159,6 +159,7 @@ source "drivers/net/ethernet/pasemi/Kcon
+@@ -160,6 +160,7 @@ source "drivers/net/ethernet/pasemi/Kcon
  source "drivers/net/ethernet/pensando/Kconfig"
  source "drivers/net/ethernet/qlogic/Kconfig"
  source "drivers/net/ethernet/qualcomm/Kconfig"
diff --git a/target/linux/ramips/patches-5.4/990-NET-no-auto-carrier-off-support.patch b/target/linux/ramips/patches-5.4/990-NET-no-auto-carrier-off-support.patch
index c19cfd322d..b53108ec3c 100644
--- a/target/linux/ramips/patches-5.4/990-NET-no-auto-carrier-off-support.patch
+++ b/target/linux/ramips/patches-5.4/990-NET-no-auto-carrier-off-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/net/phy/phy.c
 +++ b/drivers/net/phy/phy.c
-@@ -547,7 +547,10 @@ static int phy_check_link_status(struct
+@@ -549,7 +549,10 @@ static int phy_check_link_status(struct
  		phy_link_up(phydev);
  	} else if (!phydev->link && phydev->state != PHY_NOLINK) {
  		phydev->state = PHY_NOLINK;
@@ -23,7 +23,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  	}
  
  	return 0;
-@@ -927,7 +930,10 @@ void phy_state_machine(struct work_struc
+@@ -947,7 +950,10 @@ void phy_state_machine(struct work_struc
  	case PHY_HALTED:
  		if (phydev->link) {
  			phydev->link = 0;
diff --git a/target/linux/realtek/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch b/target/linux/realtek/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch
index 11e62450d5..952384ac89 100644
--- a/target/linux/realtek/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch
+++ b/target/linux/realtek/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
-@@ -163,6 +163,13 @@ source "drivers/net/ethernet/rdc/Kconfig
+@@ -164,6 +164,13 @@ source "drivers/net/ethernet/rdc/Kconfig
  source "drivers/net/ethernet/realtek/Kconfig"
  source "drivers/net/ethernet/renesas/Kconfig"
  source "drivers/net/ethernet/rocker/Kconfig"
-- 
2.30.2