[openwrt/openwrt] kernel: bump 5.4 to 5.4.191

LEDE Commits lede-commits at lists.infradead.org
Tue May 17 15:16:10 PDT 2022


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/e0bdf839722659ded1ce2f827f04ec4d9be3c6fc

commit e0bdf839722659ded1ce2f827f04ec4d9be3c6fc
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Mon May 9 18:18:20 2022 +0000

    kernel: bump 5.4 to 5.4.191
    
    Merged upstream:
     apm821xx/patches-5.4/150-ata-sata_dwc_460ex-Fix-crash-due-to-OOB-write.patch
    
    Similar patch merged upstream:
     bcm27xx/patches-5.4/950-0210-usb-xhci-Disable-the-XHCI-5-second-timeout.patch
    
    Manually adapted:
     layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
    
    Compile-tested: armvirt/64
    Run-tested: armvirt/64
    
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-version.mk                          |  4 +-
 ...sata_dwc_460ex-Fix-crash-due-to-OOB-write.patch | 65 ----------------------
 .../802-usb-xhci-force-msi-renesas-xhci.patch      |  4 +-
 .../patches-5.4/910-unaligned_access_hacks.patch   |  4 +-
 .../950-0027-mm-Remove-the-PFN-busy-warning.patch  |  2 +-
 ...0-0028-ASoC-Add-prompt-for-ICS43432-codec.patch |  2 +-
 .../950-0059-ASoC-Add-support-for-Rpi-DAC.patch    |  2 +-
 ...r-for-HiFiBerry-Amp-amplifier-add-on-boar.patch |  2 +-
 ...9-cgroup-Disable-cgroup-memory-by-default.patch |  8 +--
 ...4-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch |  2 +-
 ...sb-xhci-Disable-the-XHCI-5-second-timeout.patch | 29 ----------
 ...ent-xhci_fixup_endpoint-for-interval-adju.patch |  4 +-
 ...irk-for-host-controllers-that-don-t-updat.patch |  2 +-
 ...Use-more-event-ring-segment-table-entries.patch |  2 +-
 ...314-dma-direct-Temporary-DMA-fix-on-arm64.patch |  2 +-
 ...1-Allow-ethernet-LED-mode-to-be-set-via-d.patch |  6 +-
 ...1-Change-the-default-ethernet-LED-actions.patch |  4 +-
 ...t-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch |  4 +-
 ...f-Add-inbound-resource-parsing-to-helpers.patch |  6 +-
 ...exclude-dma_direct_map_resource-from-the-.patch |  6 +-
 ...ing-treat-dev-bus_dma_mask-as-a-DMA-limit.patch |  2 +-
 ...-for-merus-amp-soundcard-and-ma120x0p-cod.patch |  2 +-
 ...-a-pointer-to-the-miscdevice-in-dma-buf-p.patch |  6 +-
 ...-xhci-quirks-add-link-TRB-quirk-for-VL805.patch |  2 +-
 ...m-split-out-the-BCM54213PE-from-the-BCM54.patch |  6 +-
 ...phy-broadcom-Add-bcm54213pe-configuration.patch |  4 +-
 ...-add-support-for-performing-fake-doorbell.patch |  6 +-
 ...-mv88e6xxx-Add-support-for-port-mirroring.patch |  4 +-
 ...8e6xxx-fix-broken-if-statement-because-of.patch |  2 +-
 ...tach-mtd-device-named-ubi-or-data-on-boot.patch |  4 +-
 .../generic/pending-5.4/532-jffs2_eofdetect.patch  |  2 +-
 .../613-netfilter_optional_tcp_window_check.patch  |  2 +-
 .../pending-5.4/630-packet_socket_type.patch       |  6 +-
 ...xxx-Request-assisted-learning-on-CPU-port.patch |  2 +-
 .../generic/pending-5.4/834-ledtrig-libata.patch   |  8 +--
 ...ts-qcom-ipq4019-Add-SDHCI-controller-node.patch |  2 +-
 ...ts-qcom-Add-nodes-for-SMP-boot-in-IPQ40xx.patch |  2 +-
 ...5.7-ARM-dts-qcom-add-gpio-ranges-property.patch |  2 +-
 ...ts-qcom-ipq4019-fix-high-resolution-timer.patch |  2 +-
 ...5.8-02-ARM-dts-qcom-ipq4019-add-MDIO-node.patch |  2 +-
 ...-arm-dts-IPQ4019-add-SDHCI-VQMMC-LDO-node.patch |  2 +-
 ...dts-qcom-ipq4019-add-USB-devicetree-nodes.patch |  2 +-
 .../103-arm-dts-qcom-ipq4019-add-more-labels.patch |  6 +-
 .../702-dts-ipq4019-add-PHY-switch-nodes.patch     |  2 +-
 .../708-arm-dts-ipq4019-QCA807x-properties.patch   |  2 +-
 ...711-dts-ipq4019-add-ethernet-essedma-node.patch |  2 +-
 .../0001-MIPS-lantiq-add-pcie-driver.patch         |  2 +-
 ...a-symlink-too-be-created-with-a-cftype-fi.patch |  4 +-
 ...roup-bfq-revert-bfq.weight-symlink-change.patch |  4 +-
 ...0-ubi-attach-do-not-return-EINVAL-if-the-.patch |  2 +-
 ...-Remove-dev_err-usage-after-platform_get_.patch | 44 ++++++---------
 ...port-aer-pme-interrupts-with-none-MSI-MSI.patch |  2 +-
 ...-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch |  6 +-
 ...LK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch |  6 +-
 ...1-usb-host-xhci-add-.bus_suspend-override.patch |  4 +-
 ...sb-host-xhci-do-warm-reset-for-link-state.patch |  2 +-
 .../patches-5.4/0900-bt-mtk-serial-fix.patch       |  2 +-
 .../019-PCI-aardvark-Add-PHY-support.patch         |  4 +-
 ...k-Fix-initialization-with-old-Marvell-s-A.patch |  2 +-
 .../linux/oxnas/patches-5.4/999-libata-hacks.patch |  4 +-
 60 files changed, 113 insertions(+), 219 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 4ef7ddd841..f92717f957 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 = .188
+LINUX_VERSION-5.4 = .191
 
-LINUX_KERNEL_HASH-5.4.188 = 9fbc8bfdc28c9fce2307bdf7cf1172c9819df673397a411c40a5c3d0a570fdbc
+LINUX_KERNEL_HASH-5.4.191 = 288ca85fcdad18e950ccbe3d640594ee36d5aac226321ed935076fadb0cc0a3a
 
 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/150-ata-sata_dwc_460ex-Fix-crash-due-to-OOB-write.patch b/target/linux/apm821xx/patches-5.4/150-ata-sata_dwc_460ex-Fix-crash-due-to-OOB-write.patch
deleted file mode 100644
index c503be9c0d..0000000000
--- a/target/linux/apm821xx/patches-5.4/150-ata-sata_dwc_460ex-Fix-crash-due-to-OOB-write.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From ba068938e629eb1a8b423a54405233e685cedb78 Mon Sep 17 00:00:00 2001
-Message-Id: <ba068938e629eb1a8b423a54405233e685cedb78.1647594132.git.chunkeey at gmail.com>
-From: Christian Lamparter <chunkeey at gmail.com>
-Date: Thu, 17 Mar 2022 21:29:28 +0100
-Subject: [PATCH v1 1/2] ata: sata_dwc_460ex: Fix crash due to OOB write
-To: linux-ide at vger.kernel.org
-Cc: Damien Le Moal <damien.lemoal at opensource.wdc.com>,
-    Jens Axboe <axboe at kernel.dk>,
-    Tejun Heo <tj at kernel.org>,
-    Andy Shevchenko <andriy.shevchenko at linux.intel.com>
-
-the driver uses libata's "tag" values from in various arrays.
-Since the mentioned patch bumped the ATA_TAG_INTERNAL to 32,
-the value of the SATA_DWC_QCMD_MAX needs to be bumped to 33.
-
-Otherwise ATA_TAG_INTERNAL cause a crash like this:
-
-| BUG: Kernel NULL pointer dereference at 0x00000000
-| Faulting instruction address: 0xc03ed4b8
-| Oops: Kernel access of bad area, sig: 11 [#1]
-| BE PAGE_SIZE=4K PowerPC 44x Platform
-| CPU: 0 PID: 362 Comm: scsi_eh_1 Not tainted 5.4.163 #0
-| NIP:  c03ed4b8 LR: c03d27e8 CTR: c03ed36c
-| REGS: cfa59950 TRAP: 0300   Not tainted  (5.4.163)
-| MSR:  00021000 <CE,ME>  CR: 42000222  XER: 00000000
-| DEAR: 00000000 ESR: 00000000
-| GPR00: c03d27e8 cfa59a08 cfa55fe0 00000000 0fa46bc0 [...]
-| [..]
-| NIP [c03ed4b8] sata_dwc_qc_issue+0x14c/0x254
-| LR [c03d27e8] ata_qc_issue+0x1c8/0x2dc
-| Call Trace:
-| [cfa59a08] [c003f4e0] __cancel_work_timer+0x124/0x194 (unreliable)
-| [cfa59a78] [c03d27e8] ata_qc_issue+0x1c8/0x2dc
-| [cfa59a98] [c03d2b3c] ata_exec_internal_sg+0x240/0x524
-| [cfa59b08] [c03d2e98] ata_exec_internal+0x78/0xe0
-| [cfa59b58] [c03d30fc] ata_read_log_page.part.38+0x1dc/0x204
-| [cfa59bc8] [c03d324c] ata_identify_page_supported+0x68/0x130
-| [...]
-
-this is because sata_dwc_dma_xfer_complete() NULLs the
-dma_pending's next neighbour "chan" (a *dma_chan struct) in
-this '32' case right here (line ~735):
-> hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_NONE;
-
-Then the next time, a dma gets issued; dma_dwc_xfer_setup() passes
-the NULL'd hsdevp->chan to the dmaengine_slave_config() which then
-causes the crash.
-
-Reported-by: ticerex (OpenWrt Forum)
-Fixes: 28361c403683c ("libata: add extra internal command")
-Cc: stable at kernel.org # 4.18+
-Link: https://forum.openwrt.org/t/my-book-live-duo-reboot-loop/122464
-Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
----
---- a/drivers/ata/sata_dwc_460ex.c
-+++ b/drivers/ata/sata_dwc_460ex.c
-@@ -145,7 +145,7 @@ struct sata_dwc_device {
- #endif
- };
- 
--#define SATA_DWC_QCMD_MAX	32
-+#define SATA_DWC_QCMD_MAX	33
- 
- struct sata_dwc_device_port {
- 	struct sata_dwc_device	*hsdev;
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 cf62099649..1362596097 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
@@ -23,7 +23,7 @@ produce a noisy warning.
  		xhci->quirks |= XHCI_RESET_ON_RESUME;
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -427,10 +427,14 @@ static int xhci_try_enable_msi(struct us
+@@ -425,10 +425,14 @@ static int xhci_try_enable_msi(struct us
  		free_irq(hcd->irq, hcd);
  	hcd->irq = 0;
  
@@ -43,7 +43,7 @@ produce a noisy warning.
  		hcd->msi_enabled = 1;
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1887,6 +1887,7 @@ struct xhci_hcd {
+@@ -1890,6 +1890,7 @@ struct xhci_hcd {
  	struct xhci_hub		usb2_rhub;
  	struct xhci_hub		usb3_rhub;
  	/* support xHCI 1.0 spec USB2 hardware LPM */
diff --git a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch
index 3828ae0784..8680ececf2 100644
--- a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch
@@ -799,7 +799,7 @@
  		*sum = csum_fold(csum_partial(diff, sizeof(diff),
 --- a/include/linux/etherdevice.h
 +++ b/include/linux/etherdevice.h
-@@ -489,7 +489,7 @@ static inline bool is_etherdev_addr(cons
+@@ -488,7 +488,7 @@ static inline bool is_etherdev_addr(cons
   * @b: Pointer to Ethernet header
   *
   * Compare two Ethernet headers, returns 0 if equal.
@@ -808,7 +808,7 @@
   * aligned OR the platform can handle unaligned access.  This is the
   * case for all packets coming into netif_receive_skb or similar
   * entry points.
-@@ -512,11 +512,12 @@ static inline unsigned long compare_ethe
+@@ -511,11 +511,12 @@ static inline unsigned long compare_ethe
  	fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
  	return fold;
  #else
diff --git a/target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch b/target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch
index c0605ab545..95956dc1d2 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch
@@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -8514,8 +8514,6 @@ int alloc_contig_range(unsigned long sta
+@@ -8521,8 +8521,6 @@ int alloc_contig_range(unsigned long sta
  
  	/* Make sure the range is really isolated. */
  	if (test_pages_isolated(outer_start, end, false)) {
diff --git a/target/linux/bcm27xx/patches-5.4/950-0028-ASoC-Add-prompt-for-ICS43432-codec.patch b/target/linux/bcm27xx/patches-5.4/950-0028-ASoC-Add-prompt-for-ICS43432-codec.patch
index 767cec19d1..fa22a659eb 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0028-ASoC-Add-prompt-for-ICS43432-codec.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0028-ASoC-Add-prompt-for-ICS43432-codec.patch
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
 
 --- a/sound/soc/codecs/Kconfig
 +++ b/sound/soc/codecs/Kconfig
-@@ -710,7 +710,7 @@ config SND_SOC_HDAC_HDA
+@@ -715,7 +715,7 @@ config SND_SOC_HDAC_HDA
  	select SND_HDA
  
  config SND_SOC_ICS43432
diff --git a/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch b/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch
index b226f29103..2cbd46debd 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch
@@ -20,7 +20,7 @@ Subject: [PATCH] ASoC: Add support for Rpi-DAC
  	select SND_SOC_PCM3008
  	select SND_SOC_PCM3060_I2C if I2C
  	select SND_SOC_PCM3060_SPI if SPI_MASTER
-@@ -980,6 +981,10 @@ config SND_SOC_RT5616
+@@ -985,6 +986,10 @@ config SND_SOC_RT5616
  	tristate "Realtek RT5616 CODEC"
  	depends on I2C
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch b/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
index 63fa3b1a5c..0ceb277a8e 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
@@ -35,7 +35,7 @@ Some code to load the driver based on device-tree-overlays was missing. This is
  	select SND_SOC_TLV320AIC26 if SPI_MASTER
  	select SND_SOC_TLV320AIC31XX if I2C
  	select SND_SOC_TLV320AIC32X4_I2C if I2C && COMMON_CLK
-@@ -1143,6 +1144,9 @@ config SND_SOC_TFA9879
+@@ -1148,6 +1149,9 @@ config SND_SOC_TFA9879
  	tristate "NXP Semiconductors TFA9879 amplifier"
  	depends on I2C
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch
index d3ae747a7a..cb1b7d72e5 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch
@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
 
 --- a/kernel/cgroup/cgroup.c
 +++ b/kernel/cgroup/cgroup.c
-@@ -5749,6 +5749,9 @@ int __init cgroup_init_early(void)
+@@ -5788,6 +5788,9 @@ int __init cgroup_init_early(void)
  	return 0;
  }
  
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  /**
   * cgroup_init - cgroup initialization
   *
-@@ -5787,6 +5790,12 @@ int __init cgroup_init(void)
+@@ -5826,6 +5829,12 @@ int __init cgroup_init(void)
  
  	mutex_unlock(&cgroup_mutex);
  
@@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  	for_each_subsys(ss, ssid) {
  		if (ss->early_init) {
  			struct cgroup_subsys_state *css =
-@@ -6196,6 +6205,10 @@ static int __init cgroup_disable(char *s
+@@ -6235,6 +6244,10 @@ static int __init cgroup_disable(char *s
  			    strcmp(token, ss->legacy_name))
  				continue;
  
@@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  			static_branch_disable(cgroup_subsys_enabled_key[i]);
  			pr_info("Disabling %s control group subsystem\n",
  				ss->name);
-@@ -6205,6 +6218,31 @@ static int __init cgroup_disable(char *s
+@@ -6244,6 +6257,31 @@ static int __init cgroup_disable(char *s
  }
  __setup("cgroup_disable=", cgroup_disable);
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch
index 501e81092e..f5e38a30e3 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch
@@ -226,7 +226,7 @@ Signed-off-by: Hui Wang <hui.wang at canonical.com>
  	select SND_SOC_JZ4740_CODEC
  	select SND_SOC_JZ4725B_CODEC
  	select SND_SOC_LM4857 if I2C
-@@ -1497,4 +1498,8 @@ config SND_SOC_TPA6130A2
+@@ -1502,4 +1503,8 @@ config SND_SOC_TPA6130A2
  	tristate "Texas Instruments TPA6130A2 headphone amplifier"
  	depends on I2C
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0210-usb-xhci-Disable-the-XHCI-5-second-timeout.patch b/target/linux/bcm27xx/patches-5.4/950-0210-usb-xhci-Disable-the-XHCI-5-second-timeout.patch
deleted file mode 100644
index 2f5e08b7a2..0000000000
--- a/target/linux/bcm27xx/patches-5.4/950-0210-usb-xhci-Disable-the-XHCI-5-second-timeout.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a71750c83a6f1f2f7c22864bbb4e62af5e70c214 Mon Sep 17 00:00:00 2001
-From: Tim Gover <tim.gover at raspberrypi.org>
-Date: Fri, 22 Mar 2019 09:47:14 +0000
-Subject: [PATCH] usb: xhci: Disable the XHCI 5 second timeout
-
-If the VL805 EEPROM has not been programmed then boot will hang for five
-seconds. The timeout seems to be arbitrary and is an unecessary
-delay on the first boot. Remove the timeout.
-
-This is common code and probably can't be upstreamed unless the timeout
-can be configurable somehow or perhaps the XHCI driver can be skipped
-on the first boot.
----
- drivers/usb/host/xhci.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/usb/host/xhci.c
-+++ b/drivers/usb/host/xhci.c
-@@ -196,8 +196,9 @@ int xhci_reset(struct xhci_hcd *xhci)
- 	if (xhci->quirks & XHCI_INTEL_HOST)
- 		udelay(1000);
- 
-+	// Hack: reduce handshake timeout from 10s 0.5s due to unprogrammed vl805
- 	ret = xhci_handshake(&xhci->op_regs->command,
--			CMD_RESET, 0, 10 * 1000 * 1000);
-+			CMD_RESET, 0, 500 * 1000);
- 	if (ret)
- 		return ret;
- 
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 d69d14d91c..ea99a9ae0b 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 at raspberrypi.org>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -1475,6 +1475,103 @@ command_cleanup:
+@@ -1472,6 +1472,103 @@ command_cleanup:
  }
  
  /*
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan at 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
   */
-@@ -5376,6 +5473,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5373,6 +5470,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 e28938a050..cb57cae76f 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
@@ -80,7 +80,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  	/*
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1877,6 +1877,7 @@ struct xhci_hcd {
+@@ -1880,6 +1880,7 @@ struct xhci_hcd {
  #define XHCI_DEFAULT_PM_RUNTIME_ALLOW	BIT_ULL(33)
  #define XHCI_RESET_PLL_ON_DISCONNECT	BIT_ULL(34)
  #define XHCI_SNPS_BROKEN_SUSPEND    BIT_ULL(35)
diff --git a/target/linux/bcm27xx/patches-5.4/950-0293-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/bcm27xx/patches-5.4/950-0293-xhci-Use-more-event-ring-segment-table-entries.patch
index edddd313a8..d03ce7ccc3 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0293-xhci-Use-more-event-ring-segment-table-entries.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0293-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
-@@ -1653,8 +1653,8 @@ struct urb_priv {
+@@ -1656,8 +1656,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.4/950-0314-dma-direct-Temporary-DMA-fix-on-arm64.patch b/target/linux/bcm27xx/patches-5.4/950-0314-dma-direct-Temporary-DMA-fix-on-arm64.patch
index 327a77c424..066b7f1bf2 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0314-dma-direct-Temporary-DMA-fix-on-arm64.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0314-dma-direct-Temporary-DMA-fix-on-arm64.patch
@@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
 
 --- a/kernel/dma/direct.c
 +++ b/kernel/dma/direct.c
-@@ -398,7 +398,7 @@ int dma_direct_supported(struct device *
+@@ -399,7 +399,7 @@ int dma_direct_supported(struct device *
  	if (IS_ENABLED(CONFIG_ZONE_DMA))
  		min_mask = DMA_BIT_MASK(ARCH_ZONE_DMA_BITS);
  	else
diff --git a/target/linux/bcm27xx/patches-5.4/950-0339-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch b/target/linux/bcm27xx/patches-5.4/950-0339-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch
index b3e237fdf5..e323d9ff4c 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0339-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0339-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch
@@ -87,7 +87,7 @@ Signed-off-by: James Hughes <james.hughes at raspberrypi.org>
                                  (default "off")
 --- a/drivers/net/phy/broadcom.c
 +++ b/drivers/net/phy/broadcom.c
-@@ -267,6 +267,9 @@ static void bcm54xx_adjust_rxrefclk(stru
+@@ -268,6 +268,9 @@ static void bcm54xx_adjust_rxrefclk(stru
  static int bcm54xx_config_init(struct phy_device *phydev)
  {
  	int reg, err, val;
@@ -97,7 +97,7 @@ Signed-off-by: James Hughes <james.hughes at raspberrypi.org>
  
  	reg = phy_read(phydev, MII_BCM54XX_ECR);
  	if (reg < 0)
-@@ -318,6 +321,8 @@ static int bcm54xx_config_init(struct ph
+@@ -319,6 +322,8 @@ static int bcm54xx_config_init(struct ph
  
  	bcm54xx_phydsp_config(phydev);
  
@@ -106,7 +106,7 @@ Signed-off-by: James Hughes <james.hughes at raspberrypi.org>
  	/* Encode link speed into LED1 and LED3 pair (green/amber).
  	 * Also flash these two LEDs on activity. This means configuring
  	 * them for MULTICOLOR and encoding link/activity into them.
-@@ -327,8 +332,8 @@ static int bcm54xx_config_init(struct ph
+@@ -328,8 +333,8 @@ static int bcm54xx_config_init(struct ph
  	bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val);
  
  	val = BCM_LED_MULTICOLOR_IN_PHASE |
diff --git a/target/linux/bcm27xx/patches-5.4/950-0341-net-phy-2711-Change-the-default-ethernet-LED-actions.patch b/target/linux/bcm27xx/patches-5.4/950-0341-net-phy-2711-Change-the-default-ethernet-LED-actions.patch
index d76fd0ec0d..555641827f 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0341-net-phy-2711-Change-the-default-ethernet-LED-actions.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0341-net-phy-2711-Change-the-default-ethernet-LED-actions.patch
@@ -11,7 +11,7 @@ releases.
 
 --- a/drivers/net/phy/broadcom.c
 +++ b/drivers/net/phy/broadcom.c
-@@ -268,7 +268,7 @@ static int bcm54xx_config_init(struct ph
+@@ -269,7 +269,7 @@ static int bcm54xx_config_init(struct ph
  {
  	int reg, err, val;
  	u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT,
@@ -20,7 +20,7 @@ releases.
  	struct device_node *np = phydev->mdio.dev.of_node;
  
  	reg = phy_read(phydev, MII_BCM54XX_ECR);
-@@ -323,10 +323,6 @@ static int bcm54xx_config_init(struct ph
+@@ -324,10 +324,6 @@ static int bcm54xx_config_init(struct ph
  
  	of_property_read_u32_array(np, "led-modes", led_modes, 2);
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch b/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch
index 127d4c51d9..4fe3df06db 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch
@@ -65,7 +65,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
  		arm64_dma32_phys_limit = max_zone_phys(32);
 --- a/arch/powerpc/include/asm/page.h
 +++ b/arch/powerpc/include/asm/page.h
-@@ -334,13 +334,4 @@ struct vm_area_struct;
+@@ -338,13 +338,4 @@ struct vm_area_struct;
  #endif /* __ASSEMBLY__ */
  #include <asm/slice.h>
  
@@ -184,7 +184,7 @@ Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
  		return GFP_DMA;
  	if (*phys_mask <= DMA_BIT_MASK(32))
  		return GFP_DMA32;
-@@ -396,7 +395,7 @@ int dma_direct_supported(struct device *
+@@ -397,7 +396,7 @@ int dma_direct_supported(struct device *
  	u64 min_mask;
  
  	if (IS_ENABLED(CONFIG_ZONE_DMA))
diff --git a/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch b/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
index f6e66da6d6..2c9ed3534c 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
@@ -82,7 +82,7 @@ Cc: linux-rockchip at lists.infradead.org
  
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1525,7 +1525,8 @@ static int advk_pcie_probe(struct platfo
+@@ -1523,7 +1523,8 @@ static int advk_pcie_probe(struct platfo
  		return ret;
  	}
  
@@ -402,7 +402,7 @@ Cc: linux-rockchip at lists.infradead.org
  }
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
-@@ -2281,6 +2281,7 @@ struct irq_domain;
+@@ -2282,6 +2282,7 @@ struct irq_domain;
  struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus);
  int pci_parse_request_of_pci_ranges(struct device *dev,
  				    struct list_head *resources,
@@ -410,7 +410,7 @@ Cc: linux-rockchip at lists.infradead.org
  				    struct resource **bus_range);
  
  /* Arch may override this (weak) */
-@@ -2289,9 +2290,11 @@ struct device_node *pcibios_get_phb_of_n
+@@ -2290,9 +2291,11 @@ struct device_node *pcibios_get_phb_of_n
  #else	/* CONFIG_OF */
  static inline struct irq_domain *
  pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; }
diff --git a/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch b/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch
index 2534b71b73..de53f028ff 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch
@@ -84,7 +84,7 @@ Tested-by: Marek Szyprowski <m.szyprowski at samsung.com>
  
 --- a/kernel/dma/direct.c
 +++ b/kernel/dma/direct.c
-@@ -326,7 +326,7 @@ static inline bool dma_direct_possible(s
+@@ -327,7 +327,7 @@ static inline bool dma_direct_possible(s
  		size_t size)
  {
  	return swiotlb_force != SWIOTLB_FORCE &&
@@ -93,7 +93,7 @@ Tested-by: Marek Szyprowski <m.szyprowski at samsung.com>
  }
  
  dma_addr_t dma_direct_map_page(struct device *dev, struct page *page,
-@@ -375,7 +375,7 @@ dma_addr_t dma_direct_map_resource(struc
+@@ -376,7 +376,7 @@ dma_addr_t dma_direct_map_resource(struc
  {
  	dma_addr_t dma_addr = paddr;
  
@@ -104,7 +104,7 @@ Tested-by: Marek Szyprowski <m.szyprowski at samsung.com>
  	}
 --- a/kernel/dma/swiotlb.c
 +++ b/kernel/dma/swiotlb.c
-@@ -682,7 +682,7 @@ bool swiotlb_map(struct device *dev, phy
+@@ -683,7 +683,7 @@ bool swiotlb_map(struct device *dev, phy
  
  	/* Ensure that the address returned is DMA'ble */
  	*dma_addr = __phys_to_dma(dev, *phys);
diff --git a/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch b/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch
index a428c1a5c2..2f99b22cdb 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch
@@ -271,7 +271,7 @@ Signed-off-by: Christoph Hellwig <hch at lst.de>
  u64 dma_direct_get_required_mask(struct device *dev);
 --- a/include/linux/dma-mapping.h
 +++ b/include/linux/dma-mapping.h
-@@ -697,7 +697,7 @@ static inline int dma_coerce_mask_and_co
+@@ -705,7 +705,7 @@ static inline int dma_coerce_mask_and_co
   */
  static inline bool dma_addressing_limited(struct device *dev)
  {
diff --git a/target/linux/bcm27xx/patches-5.4/950-0464-Add-support-for-merus-amp-soundcard-and-ma120x0p-cod.patch b/target/linux/bcm27xx/patches-5.4/950-0464-Add-support-for-merus-amp-soundcard-and-ma120x0p-cod.patch
index 8e66bccf6e..527bffbac5 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0464-Add-support-for-merus-amp-soundcard-and-ma120x0p-cod.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0464-Add-support-for-merus-amp-soundcard-and-ma120x0p-cod.patch
@@ -168,7 +168,7 @@ Signed-off-by: AMuszkat <ariel.muszkat at gmail.com>
  	select SND_SOC_MAX98088 if I2C
  	select SND_SOC_MAX98090 if I2C
  	select SND_SOC_MAX98095 if I2C
-@@ -732,6 +733,13 @@ config SND_SOC_LOCHNAGAR_SC
+@@ -737,6 +738,13 @@ config SND_SOC_LOCHNAGAR_SC
  	  This driver support the sound card functionality of the Cirrus
  	  Logic Lochnagar audio development board.
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0718-udmabuf-add-a-pointer-to-the-miscdevice-in-dma-buf-p.patch b/target/linux/bcm27xx/patches-5.4/950-0718-udmabuf-add-a-pointer-to-the-miscdevice-in-dma-buf-p.patch
index 68feae3d48..b5ae5052b4 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0718-udmabuf-add-a-pointer-to-the-miscdevice-in-dma-buf-p.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0718-udmabuf-add-a-pointer-to-the-miscdevice-in-dma-buf-p.patch
@@ -39,7 +39,7 @@ Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
  {
  	DEFINE_DMA_BUF_EXPORT_INFO(exp_info);
  	struct file *memfd = NULL;
-@@ -172,6 +174,7 @@ static long udmabuf_create(const struct
+@@ -176,6 +178,7 @@ static long udmabuf_create(const struct
  	exp_info.priv = ubuf;
  	exp_info.flags = O_RDWR;
  
@@ -47,7 +47,7 @@ Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
  	buf = dma_buf_export(&exp_info);
  	if (IS_ERR(buf)) {
  		ret = PTR_ERR(buf);
-@@ -209,7 +212,7 @@ static long udmabuf_ioctl_create(struct
+@@ -213,7 +216,7 @@ static long udmabuf_ioctl_create(struct
  	list.offset = create.offset;
  	list.size   = create.size;
  
@@ -56,7 +56,7 @@ Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
  }
  
  static long udmabuf_ioctl_create_list(struct file *filp, unsigned long arg)
-@@ -228,7 +231,7 @@ static long udmabuf_ioctl_create_list(st
+@@ -232,7 +235,7 @@ static long udmabuf_ioctl_create_list(st
  	if (IS_ERR(list))
  		return PTR_ERR(list);
  
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 309f1a8989..62ee237fcb 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
@@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1880,6 +1880,7 @@ struct xhci_hcd {
+@@ -1883,6 +1883,7 @@ struct xhci_hcd {
  #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(36)
  #define XHCI_SKIP_PHY_INIT	BIT_ULL(37)
  #define XHCI_DISABLE_SPARSE	BIT_ULL(38)
diff --git a/target/linux/bcm27xx/patches-5.4/950-1010-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch b/target/linux/bcm27xx/patches-5.4/950-1010-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch
index 2bc8cf2e07..2ad75c4831 100644
--- a/target/linux/bcm27xx/patches-5.4/950-1010-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-1010-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
 
 --- a/drivers/net/phy/broadcom.c
 +++ b/drivers/net/phy/broadcom.c
-@@ -213,7 +213,8 @@ static void bcm54xx_adjust_rxrefclk(stru
+@@ -214,7 +214,8 @@ static void bcm54xx_adjust_rxrefclk(stru
  	/* Abort if we are using an untested phy. */
  	if (BRCM_PHY_MODEL(phydev) != PHY_ID_BCM57780 &&
  	    BRCM_PHY_MODEL(phydev) != PHY_ID_BCM50610 &&
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  		return;
  
  	val = bcm_phy_read_shadow(phydev, BCM54XX_SHD_SCR3);
-@@ -620,13 +621,21 @@ static struct phy_driver broadcom_driver
+@@ -641,13 +642,21 @@ static struct phy_driver broadcom_driver
  	.config_intr	= bcm_phy_config_intr,
  }, {
  	.phy_id		= PHY_ID_BCM54210E,
@@ -49,7 +49,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  	.phy_id		= PHY_ID_BCM5461,
  	.phy_id_mask	= 0xfffffff0,
  	.name		= "Broadcom BCM5461",
-@@ -754,7 +763,8 @@ module_phy_driver(broadcom_drivers);
+@@ -775,7 +784,8 @@ module_phy_driver(broadcom_drivers);
  static struct mdio_device_id __maybe_unused broadcom_tbl[] = {
  	{ PHY_ID_BCM5411, 0xfffffff0 },
  	{ PHY_ID_BCM5421, 0xfffffff0 },
diff --git a/target/linux/bcm27xx/patches-5.4/950-1011-phy-broadcom-Add-bcm54213pe-configuration.patch b/target/linux/bcm27xx/patches-5.4/950-1011-phy-broadcom-Add-bcm54213pe-configuration.patch
index d4f6c24ccf..3fd2dbc660 100644
--- a/target/linux/bcm27xx/patches-5.4/950-1011-phy-broadcom-Add-bcm54213pe-configuration.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-1011-phy-broadcom-Add-bcm54213pe-configuration.patch
@@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
 
 --- a/drivers/net/phy/broadcom.c
 +++ b/drivers/net/phy/broadcom.c
-@@ -43,6 +43,11 @@ static int bcm54210e_config_init(struct
+@@ -44,6 +44,11 @@ static int bcm54210e_config_init(struct
  	return 0;
  }
  
@@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  static int bcm54612e_config_init(struct phy_device *phydev)
  {
  	int reg;
-@@ -304,6 +309,10 @@ static int bcm54xx_config_init(struct ph
+@@ -305,6 +310,10 @@ static int bcm54xx_config_init(struct ph
  		err = bcm54210e_config_init(phydev);
  		if (err)
  			return err;
diff --git a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
index 5469beb53f..9b832e7de9 100644
--- a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
+++ b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
@@ -90,7 +90,7 @@ it on BCM4708 family.
  /*
   * Reset a halted HC.
   *
-@@ -608,10 +651,20 @@ static int xhci_init(struct usb_hcd *hcd
+@@ -606,10 +649,20 @@ static int xhci_init(struct usb_hcd *hcd
  
  static int xhci_run_finished(struct xhci_hcd *xhci)
  {
@@ -114,7 +114,7 @@ it on BCM4708 family.
  	xhci->shared_hcd->state = HC_STATE_RUNNING;
  	xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
  
-@@ -621,6 +674,10 @@ static int xhci_run_finished(struct xhci
+@@ -619,6 +672,10 @@ static int xhci_run_finished(struct xhci
  	xhci_dbg_trace(xhci, trace_xhci_dbg_init,
  			"Finished xhci_run for USB3 roothub");
  	return 0;
@@ -127,7 +127,7 @@ it on BCM4708 family.
  /*
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1877,6 +1877,7 @@ struct xhci_hcd {
+@@ -1880,6 +1880,7 @@ struct xhci_hcd {
  #define XHCI_DEFAULT_PM_RUNTIME_ALLOW	BIT_ULL(33)
  #define XHCI_RESET_PLL_ON_DISCONNECT	BIT_ULL(34)
  #define XHCI_SNPS_BROKEN_SUSPEND    BIT_ULL(35)
diff --git a/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch b/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch
index a23f45075f..1ba23156be 100644
--- a/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch
+++ b/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch
@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -4926,6 +4926,80 @@ static int mv88e6xxx_port_mdb_del(struct
+@@ -4927,6 +4927,80 @@ static int mv88e6xxx_port_mdb_del(struct
  	return err;
  }
  
@@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port,
  					 bool unicast, bool multicast)
  {
-@@ -4980,6 +5054,8 @@ static const struct dsa_switch_ops mv88e
+@@ -4981,6 +5055,8 @@ static const struct dsa_switch_ops mv88e
  	.port_mdb_prepare       = mv88e6xxx_port_mdb_prepare,
  	.port_mdb_add           = mv88e6xxx_port_mdb_add,
  	.port_mdb_del           = mv88e6xxx_port_mdb_del,
diff --git a/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch b/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch
index 37e7a7f2a9..99992493e8 100644
--- a/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch
+++ b/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch
@@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -4993,7 +4993,7 @@ static void mv88e6xxx_port_mirror_del(st
+@@ -4994,7 +4994,7 @@ static void mv88e6xxx_port_mirror_del(st
  		if (chip->info->ops->set_egress_port(chip,
  						     direction,
  						     dsa_upstream_port(ds,
diff --git a/target/linux/generic/pending-5.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch b/target/linux/generic/pending-5.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
index b21daea4f0..c670010989 100644
--- a/target/linux/generic/pending-5.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
+++ b/target/linux/generic/pending-5.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
 
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
-@@ -1168,6 +1168,73 @@ static struct mtd_info * __init open_mtd
+@@ -1161,6 +1161,73 @@ static struct mtd_info * __init open_mtd
  	return mtd;
  }
  
@@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  static int __init ubi_init(void)
  {
  	int err, i, k;
-@@ -1251,6 +1318,12 @@ static int __init ubi_init(void)
+@@ -1244,6 +1311,12 @@ static int __init ubi_init(void)
  		}
  	}
  
diff --git a/target/linux/generic/pending-5.4/532-jffs2_eofdetect.patch b/target/linux/generic/pending-5.4/532-jffs2_eofdetect.patch
index df4ab9b754..4cff1810b8 100644
--- a/target/linux/generic/pending-5.4/532-jffs2_eofdetect.patch
+++ b/target/linux/generic/pending-5.4/532-jffs2_eofdetect.patch
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  		if (ret < 0)
  			goto out;
-@@ -564,6 +570,17 @@ full_scan:
+@@ -566,6 +572,17 @@ full_scan:
  			return err;
  	}
  
diff --git a/target/linux/generic/pending-5.4/613-netfilter_optional_tcp_window_check.patch b/target/linux/generic/pending-5.4/613-netfilter_optional_tcp_window_check.patch
index 0735f8d20d..deed70efee 100644
--- a/target/linux/generic/pending-5.4/613-netfilter_optional_tcp_window_check.patch
+++ b/target/linux/generic/pending-5.4/613-netfilter_optional_tcp_window_check.patch
@@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	/*
  	 * Get the required data from the packet.
  	 */
-@@ -1130,7 +1136,7 @@ int nf_conntrack_tcp_packet(struct nf_co
+@@ -1139,7 +1145,7 @@ int nf_conntrack_tcp_packet(struct nf_co
  		 IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED &&
  		 timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK])
  		timeout = timeouts[TCP_CONNTRACK_UNACK];
diff --git a/target/linux/generic/pending-5.4/630-packet_socket_type.patch b/target/linux/generic/pending-5.4/630-packet_socket_type.patch
index 0e6feecc58..54c087bf65 100644
--- a/target/linux/generic/pending-5.4/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-5.4/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;
  
-@@ -3296,6 +3298,7 @@ static int packet_create(struct net *net
+@@ -3301,6 +3303,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;
-@@ -3939,6 +3942,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3944,6 +3947,16 @@ packet_setsockopt(struct socket *sock, i
  		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;
  	}
-@@ -3995,6 +4008,13 @@ static int packet_getsockopt(struct sock
+@@ -4000,6 +4013,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.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch
index cb421f164b..8e833ea802 100644
--- a/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch
+++ b/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch
@@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias at waldekranz.com>
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -5080,6 +5080,7 @@ static int mv88e6xxx_register_switch(str
+@@ -5081,6 +5081,7 @@ static int mv88e6xxx_register_switch(str
  	ds->ops = &mv88e6xxx_switch_ops;
  	ds->ageing_time_min = chip->info->age_time_coeff;
  	ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
diff --git a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch
index 2fbbb5461b..1c6eb8cd9b 100644
--- a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch
+++ b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch
@@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  /**
   *	ata_build_rw_tf - Build ATA taskfile for given read/write request
   *	@tf: Target ATA taskfile
-@@ -5152,6 +5165,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -5155,6 +5168,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
  		if (tag < 0)
  			return NULL;
  	}
@@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  
  	qc = __ata_qc_from_tag(ap, tag);
  	qc->tag = qc->hw_tag = tag;
-@@ -6088,6 +6104,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -6091,6 +6107,9 @@ struct ata_port *ata_port_alloc(struct a
  	ap->stats.unhandled_irq = 1;
  	ap->stats.idle_irq = 1;
  #endif
@@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  	ata_sff_port_init(ap);
  
  	return ap;
-@@ -6123,6 +6142,12 @@ static void ata_host_release(struct kref
+@@ -6126,6 +6145,12 @@ static void ata_host_release(struct kref
  
  		kfree(ap->pmp_link);
  		kfree(ap->slave_link);
@@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  		kfree(ap);
  		host->ports[i] = NULL;
  	}
-@@ -6586,7 +6611,23 @@ int ata_host_register(struct ata_host *h
+@@ -6589,7 +6614,23 @@ int ata_host_register(struct ata_host *h
  		host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
  		host->ports[i]->local_port_no = i + 1;
  	}
diff --git a/target/linux/ipq40xx/patches-5.4/0002-02-v5.5-ARM-dts-qcom-ipq4019-Add-SDHCI-controller-node.patch b/target/linux/ipq40xx/patches-5.4/0002-02-v5.5-ARM-dts-qcom-ipq4019-Add-SDHCI-controller-node.patch
index 25fce8daf0..1f54446b9f 100644
--- a/target/linux/ipq40xx/patches-5.4/0002-02-v5.5-ARM-dts-qcom-ipq4019-Add-SDHCI-controller-node.patch
+++ b/target/linux/ipq40xx/patches-5.4/0002-02-v5.5-ARM-dts-qcom-ipq4019-Add-SDHCI-controller-node.patch
@@ -15,7 +15,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson at linaro.org>
 
 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -206,6 +206,18 @@
+@@ -207,6 +207,18 @@
  			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
  		};
  
diff --git a/target/linux/ipq40xx/patches-5.4/0003-v5.6-ARM-dts-qcom-Add-nodes-for-SMP-boot-in-IPQ40xx.patch b/target/linux/ipq40xx/patches-5.4/0003-v5.6-ARM-dts-qcom-Add-nodes-for-SMP-boot-in-IPQ40xx.patch
index 3a4127febf..40c4eb1ae6 100644
--- a/target/linux/ipq40xx/patches-5.4/0003-v5.6-ARM-dts-qcom-Add-nodes-for-SMP-boot-in-IPQ40xx.patch
+++ b/target/linux/ipq40xx/patches-5.4/0003-v5.6-ARM-dts-qcom-Add-nodes-for-SMP-boot-in-IPQ40xx.patch
@@ -56,7 +56,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson at linaro.org>
  		};
  	};
  
-@@ -353,6 +354,12 @@
+@@ -354,6 +355,12 @@
  			regulator;
  		};
  
diff --git a/target/linux/ipq40xx/patches-5.4/0003-v5.7-ARM-dts-qcom-add-gpio-ranges-property.patch b/target/linux/ipq40xx/patches-5.4/0003-v5.7-ARM-dts-qcom-add-gpio-ranges-property.patch
index 6922bc8ff3..0df702cf1c 100644
--- a/target/linux/ipq40xx/patches-5.4/0003-v5.7-ARM-dts-qcom-add-gpio-ranges-property.patch
+++ b/target/linux/ipq40xx/patches-5.4/0003-v5.7-ARM-dts-qcom-add-gpio-ranges-property.patch
@@ -59,7 +59,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson at linaro.org>
  			#interrupt-cells = <2>;
 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -201,6 +201,7 @@
+@@ -202,6 +202,7 @@
  			compatible = "qcom,ipq4019-pinctrl";
  			reg = <0x01000000 0x300000>;
  			gpio-controller;
diff --git a/target/linux/ipq40xx/patches-5.4/0004-v5.8-ARM-dts-qcom-ipq4019-fix-high-resolution-timer.patch b/target/linux/ipq40xx/patches-5.4/0004-v5.8-ARM-dts-qcom-ipq4019-fix-high-resolution-timer.patch
index f82021f4cd..00a50bec12 100644
--- a/target/linux/ipq40xx/patches-5.4/0004-v5.8-ARM-dts-qcom-ipq4019-fix-high-resolution-timer.patch
+++ b/target/linux/ipq40xx/patches-5.4/0004-v5.8-ARM-dts-qcom-ipq4019-fix-high-resolution-timer.patch
@@ -23,7 +23,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson at linaro.org>
 
 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -166,6 +166,7 @@
+@@ -167,6 +167,7 @@
  			     <1 4 0xf08>,
  			     <1 1 0xf08>;
  		clock-frequency = <48000000>;
diff --git a/target/linux/ipq40xx/patches-5.4/0005-02-v5.8-02-ARM-dts-qcom-ipq4019-add-MDIO-node.patch b/target/linux/ipq40xx/patches-5.4/0005-02-v5.8-02-ARM-dts-qcom-ipq4019-add-MDIO-node.patch
index 1976686e8f..0f4b505b67 100644
--- a/target/linux/ipq40xx/patches-5.4/0005-02-v5.8-02-ARM-dts-qcom-ipq4019-add-MDIO-node.patch
+++ b/target/linux/ipq40xx/patches-5.4/0005-02-v5.8-02-ARM-dts-qcom-ipq4019-add-MDIO-node.patch
@@ -21,7 +21,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -577,5 +577,33 @@
+@@ -578,5 +578,33 @@
  					  "legacy";
  			status = "disabled";
  		};
diff --git a/target/linux/ipq40xx/patches-5.4/101-arm-dts-IPQ4019-add-SDHCI-VQMMC-LDO-node.patch b/target/linux/ipq40xx/patches-5.4/101-arm-dts-IPQ4019-add-SDHCI-VQMMC-LDO-node.patch
index 14affc28c1..2e98d84d98 100644
--- a/target/linux/ipq40xx/patches-5.4/101-arm-dts-IPQ4019-add-SDHCI-VQMMC-LDO-node.patch
+++ b/target/linux/ipq40xx/patches-5.4/101-arm-dts-IPQ4019-add-SDHCI-VQMMC-LDO-node.patch
@@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robert.marko at sartura.hr>
 
 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -209,6 +209,16 @@
+@@ -210,6 +210,16 @@
  			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
  		};
  
diff --git a/target/linux/ipq40xx/patches-5.4/102-ARM-dts-qcom-ipq4019-add-USB-devicetree-nodes.patch b/target/linux/ipq40xx/patches-5.4/102-ARM-dts-qcom-ipq4019-add-USB-devicetree-nodes.patch
index b033a1baee..a5ea021afc 100644
--- a/target/linux/ipq40xx/patches-5.4/102-ARM-dts-qcom-ipq4019-add-USB-devicetree-nodes.patch
+++ b/target/linux/ipq40xx/patches-5.4/102-ARM-dts-qcom-ipq4019-add-USB-devicetree-nodes.patch
@@ -15,7 +15,7 @@ Reviewed-by: Vinod Koul <vkoul at kernel.org>
 
 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -615,5 +615,79 @@
+@@ -616,5 +616,79 @@
  				reg = <4>;
  			};
  		};
diff --git a/target/linux/ipq40xx/patches-5.4/103-arm-dts-qcom-ipq4019-add-more-labels.patch b/target/linux/ipq40xx/patches-5.4/103-arm-dts-qcom-ipq4019-add-more-labels.patch
index 0e215ee7cf..833a5ccdb0 100644
--- a/target/linux/ipq40xx/patches-5.4/103-arm-dts-qcom-ipq4019-add-more-labels.patch
+++ b/target/linux/ipq40xx/patches-5.4/103-arm-dts-qcom-ipq4019-add-more-labels.patch
@@ -13,7 +13,7 @@ Cc: Luka Perkov <luka.perkov at sartura.hr>
 
 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -190,7 +190,7 @@
+@@ -191,7 +191,7 @@
  			reg = <0x1800000 0x60000>;
  		};
  
@@ -22,7 +22,7 @@ Cc: Luka Perkov <luka.perkov at sartura.hr>
  			compatible = "qcom,prng";
  			reg = <0x22000 0x140>;
  			clocks = <&gcc GCC_PRNG_AHB_CLK>;
-@@ -310,7 +310,7 @@
+@@ -311,7 +311,7 @@
  			status = "disabled";
  		};
  
@@ -31,7 +31,7 @@ Cc: Luka Perkov <luka.perkov at sartura.hr>
  			compatible = "qcom,crypto-v5.1";
  			reg = <0x08e3a000 0x6000>;
  			clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
-@@ -396,7 +396,7 @@
+@@ -397,7 +397,7 @@
  			dma-names = "rx", "tx";
  		};
  
diff --git a/target/linux/ipq40xx/patches-5.4/702-dts-ipq4019-add-PHY-switch-nodes.patch b/target/linux/ipq40xx/patches-5.4/702-dts-ipq4019-add-PHY-switch-nodes.patch
index cfbf7bd41f..d95e75107b 100644
--- a/target/linux/ipq40xx/patches-5.4/702-dts-ipq4019-add-PHY-switch-nodes.patch
+++ b/target/linux/ipq40xx/patches-5.4/702-dts-ipq4019-add-PHY-switch-nodes.patch
@@ -14,7 +14,7 @@ Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
 
 --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
 +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -616,6 +616,29 @@
+@@ -617,6 +617,29 @@
  			};
  		};
  
diff --git a/target/linux/ipq40xx/patches-5.4/708-arm-dts-ipq4019-QCA807x-properties.patch b/target/linux/ipq40xx/patches-5.4/708-arm-dts-ipq4019-QCA807x-properties.patch
index 4b04a3ce9a..c08f3a83e6 100644
--- a/target/linux/ipq40xx/patches-5.4/708-arm-dts-ipq4019-QCA807x-properties.patch
+++ b/target/linux/ipq40xx/patches-5.4/708-arm-dts-ipq4019-QCA807x-properties.patch
@@ -20,7 +20,7 @@ Signed-off-by: Robert Marko <robert.marko at sartura.hr>
  
  / {
  	#address-cells = <1>;
-@@ -597,22 +598,39 @@
+@@ -598,22 +599,39 @@
  
  			ethphy0: ethernet-phy at 0 {
  				reg = <0>;
diff --git a/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch b/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch
index 7b2ddfe00d..3567eb7810 100644
--- a/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch
+++ b/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch
@@ -25,7 +25,7 @@ Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
  	};
  
  	cpus {
-@@ -657,6 +659,64 @@
+@@ -658,6 +660,64 @@
  			status = "disabled";
  		};
  
diff --git a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
index d856e24d9f..3759f2ac63 100644
--- a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
+++ b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
@@ -5480,7 +5480,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
-@@ -1392,6 +1392,8 @@ void pci_walk_bus(struct pci_bus *top, i
+@@ -1393,6 +1393,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/layerscape/patches-5.4/303-core-0003-cgroup-let-a-symlink-too-be-created-with-a-cftype-fi.patch b/target/linux/layerscape/patches-5.4/303-core-0003-cgroup-let-a-symlink-too-be-created-with-a-cftype-fi.patch
index 7f0579cb90..f2559cdab3 100644
--- a/target/linux/layerscape/patches-5.4/303-core-0003-cgroup-let-a-symlink-too-be-created-with-a-cftype-fi.patch
+++ b/target/linux/layerscape/patches-5.4/303-core-0003-cgroup-let-a-symlink-too-be-created-with-a-cftype-fi.patch
@@ -87,7 +87,7 @@ Signed-off-by: Li Yang <leoyang.li at nxp.com>
  }
  
  /**
-@@ -3901,6 +3917,7 @@ static int cgroup_add_file(struct cgroup
+@@ -3924,6 +3940,7 @@ static int cgroup_add_file(struct cgroup
  {
  	char name[CGROUP_FILE_NAME_MAX];
  	struct kernfs_node *kn;
@@ -95,7 +95,7 @@ Signed-off-by: Li Yang <leoyang.li at nxp.com>
  	struct lock_class_key *key = NULL;
  	int ret;
  
-@@ -3931,6 +3948,14 @@ static int cgroup_add_file(struct cgroup
+@@ -3954,6 +3971,14 @@ static int cgroup_add_file(struct cgroup
  		spin_unlock_irq(&cgroup_file_kn_lock);
  	}
  
diff --git a/target/linux/layerscape/patches-5.4/303-core-0004-cgroup-bfq-revert-bfq.weight-symlink-change.patch b/target/linux/layerscape/patches-5.4/303-core-0004-cgroup-bfq-revert-bfq.weight-symlink-change.patch
index a7930e0e26..4126b873bb 100644
--- a/target/linux/layerscape/patches-5.4/303-core-0004-cgroup-bfq-revert-bfq.weight-symlink-change.patch
+++ b/target/linux/layerscape/patches-5.4/303-core-0004-cgroup-bfq-revert-bfq.weight-symlink-change.patch
@@ -89,7 +89,7 @@ Signed-off-by: Li Yang <leoyang.li at nxp.com>
  }
  
  /**
-@@ -3917,7 +3901,6 @@ static int cgroup_add_file(struct cgroup
+@@ -3940,7 +3924,6 @@ static int cgroup_add_file(struct cgroup
  {
  	char name[CGROUP_FILE_NAME_MAX];
  	struct kernfs_node *kn;
@@ -97,7 +97,7 @@ Signed-off-by: Li Yang <leoyang.li at nxp.com>
  	struct lock_class_key *key = NULL;
  	int ret;
  
-@@ -3948,14 +3931,6 @@ static int cgroup_add_file(struct cgroup
+@@ -3971,14 +3954,6 @@ static int cgroup_add_file(struct cgroup
  		spin_unlock_irq(&cgroup_file_kn_lock);
  	}
  
diff --git a/target/linux/layerscape/patches-5.4/303-core-0008-ENGR00279980-ubi-attach-do-not-return-EINVAL-if-the-.patch b/target/linux/layerscape/patches-5.4/303-core-0008-ENGR00279980-ubi-attach-do-not-return-EINVAL-if-the-.patch
index c67cdb0f82..8b6515c759 100644
--- a/target/linux/layerscape/patches-5.4/303-core-0008-ENGR00279980-ubi-attach-do-not-return-EINVAL-if-the-.patch
+++ b/target/linux/layerscape/patches-5.4/303-core-0008-ENGR00279980-ubi-attach-do-not-return-EINVAL-if-the-.patch
@@ -35,7 +35,7 @@ Signed-off-by: Han Xu <han.xu at nxp.com>
 
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
-@@ -576,7 +576,7 @@ static int io_init(struct ubi_device *ub
+@@ -572,7 +572,7 @@ static int io_init(struct ubi_device *ub
  	dbg_gen("sizeof(struct ubi_ainf_peb) %zu", sizeof(struct ubi_ainf_peb));
  	dbg_gen("sizeof(struct ubi_wl_entry) %zu", sizeof(struct ubi_wl_entry));
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch b/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
index d261483563..c9eb3d2610 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
@@ -86,42 +86,30 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
  	if (err) {
 --- a/sound/soc/codecs/msm8916-wcd-analog.c
 +++ b/sound/soc/codecs/msm8916-wcd-analog.c
-@@ -1195,8 +1195,10 @@ static int pm8916_wcd_analog_spmi_probe(
- 	}
+@@ -1196,6 +1196,7 @@ static int pm8916_wcd_analog_spmi_probe(
  
  	irq = platform_get_irq_byname(pdev, "mbhc_switch_int");
--	if (irq < 0)
-+	if (irq < 0) {
+ 	if (irq < 0) {
 +		dev_err(dev, "failed to get mbhc switch irq\n");
- 		return irq;
-+	}
- 
- 	ret = devm_request_threaded_irq(dev, irq, NULL,
- 			       pm8916_mbhc_switch_irq_handler,
-@@ -1208,8 +1210,10 @@ static int pm8916_wcd_analog_spmi_probe(
- 
+ 		ret = irq;
+ 		goto err_disable_clk;
+ 	}
+@@ -1211,6 +1212,7 @@ static int pm8916_wcd_analog_spmi_probe(
  	if (priv->mbhc_btn_enabled) {
  		irq = platform_get_irq_byname(pdev, "mbhc_but_press_det");
--		if (irq < 0)
-+		if (irq < 0) {
+ 		if (irq < 0) {
 +			dev_err(dev, "failed to get button press irq\n");
- 			return irq;
-+		}
- 
- 		ret = devm_request_threaded_irq(dev, irq, NULL,
- 				       mbhc_btn_press_irq_handler,
-@@ -1220,8 +1224,10 @@ static int pm8916_wcd_analog_spmi_probe(
- 			dev_err(dev, "cannot request mbhc button press irq\n");
+ 			ret = irq;
+ 			goto err_disable_clk;
+ 		}
+@@ -1225,6 +1227,7 @@ static int pm8916_wcd_analog_spmi_probe(
  
  		irq = platform_get_irq_byname(pdev, "mbhc_but_rel_det");
--		if (irq < 0)
-+		if (irq < 0) {
+ 		if (irq < 0) {
 +			dev_err(dev, "failed to get button release irq\n");
- 			return irq;
-+		}
- 
- 		ret = devm_request_threaded_irq(dev, irq, NULL,
- 				       mbhc_btn_release_irq_handler,
+ 			ret = irq;
+ 			goto err_disable_clk;
+ 		}
 --- a/sound/soc/codecs/twl6040.c
 +++ b/sound/soc/codecs/twl6040.c
 @@ -1108,8 +1108,10 @@ static int twl6040_probe(struct snd_soc_
@@ -278,7 +266,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
  	if (ret) {
 --- a/sound/soc/mxs/mxs-saif.c
 +++ b/sound/soc/mxs/mxs-saif.c
-@@ -790,8 +790,12 @@ static int mxs_saif_probe(struct platfor
+@@ -793,8 +793,12 @@ static int mxs_saif_probe(struct platfor
  		return PTR_ERR(saif->base);
  
  	irq = platform_get_irq(pdev, 0);
diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch b/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch
index 9c359d24b9..75ab447575 100644
--- a/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch
+++ b/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch
@@ -229,7 +229,7 @@ Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
  	 * fall back to INTx or other interrupts, e.g., a system shared
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
-@@ -2024,6 +2024,7 @@ static inline void pcibios_penalize_isa_
+@@ -2025,6 +2025,7 @@ static inline void pcibios_penalize_isa_
  int pcibios_alloc_irq(struct pci_dev *dev);
  void pcibios_free_irq(struct pci_dev *dev);
  resource_size_t pcibios_default_alignment(void);
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 6b90c65677..91156d178c 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
@@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
 
 --- a/drivers/usb/host/xhci-hub.c
 +++ b/drivers/usb/host/xhci-hub.c
-@@ -1422,6 +1422,15 @@ int xhci_hub_control(struct usb_hcd *hcd
+@@ -1425,6 +1425,15 @@ int xhci_hub_control(struct usb_hcd *hcd
  			/* 4.19.6 Port Test Modes (USB2 Test Mode) */
  			if (hcd->speed != HCD_USB2)
  				goto error;
@@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen at 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
-@@ -5403,6 +5403,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5401,6 +5401,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,
@@ -184,7 +184,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  void xhci_init_driver(struct hc_driver *drv,
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -2154,6 +2154,16 @@ int xhci_find_raw_port_number(struct usb
+@@ -2157,6 +2157,16 @@ int xhci_find_raw_port_number(struct usb
  struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd);
  
  void xhci_hc_died(struct xhci_hcd *xhci);
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch b/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
index 617374a26b..085c5f1ecb 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
@@ -21,7 +21,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -193,7 +193,7 @@ int xhci_reset(struct xhci_hcd *xhci)
+@@ -193,7 +193,7 @@ int xhci_reset(struct xhci_hcd *xhci, u6
  	 * Without this delay, the subsequent HC register access,
  	 * may result in a system hang very rarely.
  	 */
@@ -29,10 +29,10 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
 +	if (xhci->quirks & (XHCI_INTEL_HOST | XHCI_CDNS_HOST))
  		udelay(1000);
  
- 	ret = xhci_handshake(&xhci->op_regs->command,
+ 	ret = xhci_handshake(&xhci->op_regs->command, CMD_RESET, 0, timeout_us);
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1877,6 +1877,7 @@ struct xhci_hcd {
+@@ -1880,6 +1880,7 @@ struct xhci_hcd {
  #define XHCI_DEFAULT_PM_RUNTIME_ALLOW	BIT_ULL(33)
  #define XHCI_RESET_PLL_ON_DISCONNECT	BIT_ULL(34)
  #define XHCI_SNPS_BROKEN_SUSPEND    BIT_ULL(35)
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 bcf1bc0a9d..b0a347da1e 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 at nxp.com>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -5424,6 +5424,8 @@ void xhci_init_driver(struct hc_driver *
+@@ -5422,6 +5422,8 @@ void xhci_init_driver(struct hc_driver *
  			drv->check_bandwidth = over->check_bandwidth;
  		if (over->reset_bandwidth)
  			drv->reset_bandwidth = over->reset_bandwidth;
@@ -35,7 +35,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  EXPORT_SYMBOL_GPL(xhci_init_driver);
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1920,6 +1920,7 @@ struct xhci_driver_overrides {
+@@ -1923,6 +1923,7 @@ struct xhci_driver_overrides {
  	int (*start)(struct usb_hcd *hcd);
  	int (*check_bandwidth)(struct usb_hcd *, struct usb_device *);
  	void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0021-MLK-22099-usb-host-xhci-do-warm-reset-for-link-state.patch b/target/linux/layerscape/patches-5.4/820-usb-0021-MLK-22099-usb-host-xhci-do-warm-reset-for-link-state.patch
index eb5dcb5595..a8245dbb29 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0021-MLK-22099-usb-host-xhci-do-warm-reset-for-link-state.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0021-MLK-22099-usb-host-xhci-do-warm-reset-for-link-state.patch
@@ -16,7 +16,7 @@ Signed-off-by: Li Jun <jun.li at nxp.com>
 
 --- a/drivers/usb/host/xhci-hub.c
 +++ b/drivers/usb/host/xhci-hub.c
-@@ -1740,7 +1740,8 @@ static bool xhci_port_missing_cas_quirk(
+@@ -1743,7 +1743,8 @@ static bool xhci_port_missing_cas_quirk(
  		return false;
  
  	if (((portsc & PORT_PLS_MASK) != XDEV_POLLING) &&
diff --git a/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch
index 2b3a4ae12f..420feac253 100644
--- a/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch
+++ b/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch
@@ -19,7 +19,7 @@
  	},
  	[PORT_NPCM] = {
  		.name		= "Nuvoton 16550",
-@@ -2598,6 +2598,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2610,6 +2610,11 @@ serial8250_do_set_termios(struct uart_po
  	unsigned long flags;
  	unsigned int baud, quot, frac = 0;
  
diff --git a/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch b/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch
index 3d88a9e417..525d9ec794 100644
--- a/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch
+++ b/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch
@@ -76,7 +76,7 @@ Cc: Miquèl Raynal <miquel.raynal at bootlin.com>
  	/* Set to Direct mode */
  	reg = advk_readl(pcie, CTRL_CONFIG_REG);
  	reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT);
-@@ -1495,6 +1504,62 @@ out_release_res:
+@@ -1493,6 +1502,62 @@ out_release_res:
  	return err;
  }
  
@@ -139,7 +139,7 @@ Cc: Miquèl Raynal <miquel.raynal at bootlin.com>
  static int advk_pcie_probe(struct platform_device *pdev)
  {
  	struct device *dev = &pdev->dev;
-@@ -1627,6 +1692,10 @@ static int advk_pcie_probe(struct platfo
+@@ -1625,6 +1690,10 @@ static int advk_pcie_probe(struct platfo
  	else
  		pcie->link_gen = ret;
  
diff --git a/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch b/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
index cab99ce4ce..5a6173a666 100644
--- a/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
+++ b/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
@@ -31,7 +31,7 @@ Cc: <stable at vger.kernel.org> # 5.8+: ea17a0f153af: phy: marvell: comphy: Convert
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1528,7 +1528,9 @@ static int advk_pcie_enable_phy(struct a
+@@ -1526,7 +1526,9 @@ static int advk_pcie_enable_phy(struct a
  	}
  
  	ret = phy_power_on(pcie->phy);
diff --git a/target/linux/oxnas/patches-5.4/999-libata-hacks.patch b/target/linux/oxnas/patches-5.4/999-libata-hacks.patch
index d322514a7d..931061701f 100644
--- a/target/linux/oxnas/patches-5.4/999-libata-hacks.patch
+++ b/target/linux/oxnas/patches-5.4/999-libata-hacks.patch
@@ -15,7 +15,7 @@
  	/* initialize internal qc */
  	qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL);
  
-@@ -5159,6 +5167,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -5162,6 +5170,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
  	if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
  		return NULL;
  
@@ -25,7 +25,7 @@
  	/* libsas case */
  	if (ap->flags & ATA_FLAG_SAS_HOST) {
  		tag = ata_sas_allocate_tag(ap);
-@@ -5204,6 +5215,8 @@ void ata_qc_free(struct ata_queued_cmd *
+@@ -5207,6 +5218,8 @@ void ata_qc_free(struct ata_queued_cmd *
  		qc->tag = ATA_TAG_POISON;
  		if (ap->flags & ATA_FLAG_SAS_HOST)
  			ata_sas_free_tag(tag, ap);




More information about the lede-commits mailing list