فهرست منبع

kernel: bump 5.4 to 5.4.86

Removed upstreamed patches:
  pending-5.4/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch

Manually merged:
  pending-5.4/611-netfilter_match_bypass_default_table.patch
  layerscape/302-dts-0112-arm64-dts-fsl-ls1028a-prepare-dts-for-overlay.patch

Build-tested: ipq806x/R7800, bcm27xx/bcm2711, ath79/{generic,tiny},
              ipq40xx, octeon, ramips/mt7621, realtek, x86/64
Run-tested: ipq806x/R7800, realtek

Signed-off-by: Adrian Schmutzler <[email protected]>
Tested-by: John Audia <[email protected]>
Tested-by: Stijn Segers <[email protected]>
Adrian Schmutzler 4 سال پیش
والد
کامیت
9b1b89229f
31فایلهای تغییر یافته به همراه47 افزوده شده و 115 حذف شده
  1. 2 2
      include/kernel-version.mk
  2. 1 1
      target/linux/ath25/patches-5.4/130-watchdog.patch
  3. 2 4
      target/linux/ath79/patches-5.4/0001-MIPS-cmdline-Clean-up-boot_command_line-initializati.patch
  4. 1 1
      target/linux/ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch
  5. 1 1
      target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch
  6. 1 1
      target/linux/bcm27xx/patches-5.4/950-0084-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch
  7. 2 2
      target/linux/bcm27xx/patches-5.4/950-0653-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
  8. 1 1
      target/linux/bcm27xx/patches-5.4/950-0672-spi-use_gpio_descriptor-fixup-moved-to-spi_setup.patch
  9. 1 1
      target/linux/bcm27xx/patches-5.4/950-0697-SQUASH-spi-Demote-SPI_CS_HIGH-warning-to-KERN_DEBUG.patch
  10. 1 1
      target/linux/bcm47xx/patches-5.4/831-old_gpio_wdt.patch
  11. 1 1
      target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch
  12. 1 1
      target/linux/generic/hack-5.4/221-module_exports.patch
  13. 1 1
      target/linux/generic/pending-5.4/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
  14. 4 6
      target/linux/generic/pending-5.4/190-rtc-rs5c372-support_alarms_up_to_1_week.patch
  15. 5 7
      target/linux/generic/pending-5.4/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch
  16. 0 61
      target/linux/generic/pending-5.4/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch
  17. 1 1
      target/linux/generic/pending-5.4/530-jffs2_make_lzma_available.patch
  18. 1 1
      target/linux/generic/pending-5.4/610-netfilter_match_bypass_default_checks.patch
  19. 2 2
      target/linux/generic/pending-5.4/611-netfilter_match_bypass_default_table.patch
  20. 2 2
      target/linux/ipq40xx/patches-5.4/0013-v5.6-crypto-qce-allow-building-only-hashes-ciphers.patch
  21. 1 1
      target/linux/ipq40xx/patches-5.4/0015-v5.7-crypto-qce-use-AES-fallback-for-small-requests.patch
  22. 2 1
      target/linux/ipq806x/patches-5.4/0069-arm-boot-add-dts-files.patch
  23. 1 1
      target/linux/ipq806x/patches-5.4/092-1-v5.7-qcom-cpufreq-nvmem-Add-support-for-krait-based-socs.patch
  24. 1 1
      target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch
  25. 1 1
      target/linux/layerscape/patches-5.4/302-dts-0074-arm64-dts-fsl-ls1028a-Add-Felix-switch-port-DT-node.patch
  26. 1 1
      target/linux/layerscape/patches-5.4/302-dts-0112-arm64-dts-fsl-ls1028a-prepare-dts-for-overlay.patch
  27. 2 2
      target/linux/layerscape/patches-5.4/701-net-0142-bus-fsl-mc-Some-apis-are-made-public-for-vfio.patch
  28. 1 1
      target/linux/mediatek/patches-5.4/0001-v5.7-spi-make-spi-max-frequency-optional.patch
  29. 2 2
      target/linux/mediatek/patches-5.4/0303-mtd-spinand-disable-on-die-ECC.patch
  30. 3 3
      target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch
  31. 1 3
      target/linux/mvebu/patches-5.4/007-gpio-mvebu-avoid_error_message_for_optional_IRQ.patch

+ 2 - 2
include/kernel-version.mk

@@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-5.4 = .85
+LINUX_VERSION-5.4 = .86
 
-LINUX_KERNEL_HASH-5.4.85 = 1de3586d8e7a9a814726610745d80907a267590d2770ec1079ef2875c4984008
+LINUX_KERNEL_HASH-5.4.86 = eb36b5fc6ef7b953acba0a3e62d872e0330c4d34b38d58f5714493a4fe3b0e8b
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

+ 1 - 1
target/linux/ath25/patches-5.4/130-watchdog.patch

@@ -212,7 +212,7 @@
 +MODULE_ALIAS("platform:" DRIVER_NAME);
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -1830,6 +1830,13 @@ config PIC32_DMT
+@@ -1832,6 +1832,13 @@ config PIC32_DMT
  	  To compile this driver as a loadable module, choose M here.
  	  The module will be called pic32-dmt.
  

+ 2 - 4
target/linux/ath79/patches-5.4/0001-MIPS-cmdline-Clean-up-boot_command_line-initializati.patch

@@ -44,11 +44,9 @@ Origin: upstream, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
 Signed-off-by: Paul Burton <[email protected]>
 Cc: [email protected]
 
-diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
-index b8884de89c81e1b444b218a15519556b4a374089..e56dd6c25d46336fcb9af21326f697d0c37aac1c 100644
 --- a/arch/mips/kernel/setup.c
 +++ b/arch/mips/kernel/setup.c
-@@ -538,11 +538,88 @@ static void __init check_kernel_sections_mem(void)
+@@ -538,11 +538,88 @@ static void __init check_kernel_sections
  	}
  }
  
@@ -142,7 +140,7 @@ index b8884de89c81e1b444b218a15519556b4a374089..e56dd6c25d46336fcb9af21326f697d0
  
  /*
   * arch_mem_init - initialize memory management subsystem
-@@ -570,48 +647,12 @@ static void __init arch_mem_init(char **cmdline_p)
+@@ -570,48 +647,12 @@ static void __init arch_mem_init(char **
  {
  	extern void plat_mem_setup(void);
  

+ 1 - 1
target/linux/ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch

@@ -30,7 +30,7 @@ Signed-off-by: Sungbo Eo <[email protected]>
  			uport->cons->cflag = 0;
  		}
  		/*
-@@ -2104,8 +2106,10 @@ uart_set_options(struct uart_port *port,
+@@ -2108,8 +2110,10 @@ uart_set_options(struct uart_port *port,
  	 * Allow the setting of the UART parameters with a NULL console
  	 * too:
  	 */

+ 1 - 1
target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch

@@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <[email protected]>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -8511,8 +8511,6 @@ int alloc_contig_range(unsigned long sta
+@@ -8512,8 +8512,6 @@ int alloc_contig_range(unsigned long sta
  
  	/* Make sure the range is really isolated. */
  	if (test_pages_isolated(outer_start, end, false)) {

+ 1 - 1
target/linux/bcm27xx/patches-5.4/950-0084-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch

@@ -11,7 +11,7 @@ other with conf_req and conf_rsp messages, in a demented game of tag.
 
 --- a/drivers/bluetooth/hci_h5.c
 +++ b/drivers/bluetooth/hci_h5.c
-@@ -339,7 +339,8 @@ static void h5_handle_internal_rx(struct
+@@ -342,7 +342,8 @@ static void h5_handle_internal_rx(struct
  		h5_link_control(hu, conf_req, 3);
  	} else if (memcmp(data, conf_req, 2) == 0) {
  		h5_link_control(hu, conf_rsp, 2);

+ 2 - 2
target/linux/bcm27xx/patches-5.4/950-0653-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch

@@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell <[email protected]>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -3114,6 +3114,7 @@ static int __spi_validate_bits_per_word(
+@@ -3115,6 +3115,7 @@ static int __spi_validate_bits_per_word(
   */
  int spi_setup(struct spi_device *spi)
  {
@@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <[email protected]>
  	unsigned	bad_bits, ugly_bits;
  	int		status;
  
-@@ -3131,6 +3132,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3132,6 +3133,14 @@ int spi_setup(struct spi_device *spi)
  		(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
  		 SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
  		return -EINVAL;

+ 1 - 1
target/linux/bcm27xx/patches-5.4/950-0672-spi-use_gpio_descriptor-fixup-moved-to-spi_setup.patch

@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <[email protected]>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -1792,15 +1792,6 @@ static int of_spi_parse_dt(struct spi_co
+@@ -1793,15 +1793,6 @@ static int of_spi_parse_dt(struct spi_co
  	}
  	spi->chip_select = value;
  

+ 1 - 1
target/linux/bcm27xx/patches-5.4/950-0697-SQUASH-spi-Demote-SPI_CS_HIGH-warning-to-KERN_DEBUG.patch

@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <[email protected]>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -3126,8 +3126,8 @@ int spi_setup(struct spi_device *spi)
+@@ -3127,8 +3127,8 @@ int spi_setup(struct spi_device *spi)
  
  	if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
  	    ctlr->cs_gpiods[spi->chip_select] && !(spi->mode & SPI_CS_HIGH)) {

+ 1 - 1
target/linux/bcm47xx/patches-5.4/831-old_gpio_wdt.patch

@@ -4,7 +4,7 @@ Signed-off-by: Mathias Adam <[email protected]>
 
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -1655,6 +1655,15 @@ config WDT_MTX1
+@@ -1657,6 +1657,15 @@ config WDT_MTX1
  	  Hardware driver for the MTX-1 boards. This is a watchdog timer that
  	  will reboot the machine after a 100 seconds timer expired.
  

+ 1 - 1
target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch

@@ -61,7 +61,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  #include <linux/clockchips.h>
  #include <linux/clocksource.h>
  #include <linux/interrupt.h>
-@@ -910,6 +911,16 @@ static void arch_timer_of_configure_rate
+@@ -919,6 +920,16 @@ static void arch_timer_of_configure_rate
  	if (of_property_read_u32(np, "clock-frequency", &arch_timer_rate))
  		arch_timer_rate = rate;
  

+ 1 - 1
target/linux/generic/hack-5.4/221-module_exports.patch

@@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
 --- a/scripts/Makefile.build
 +++ b/scripts/Makefile.build
-@@ -353,7 +353,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
+@@ -349,7 +349,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
  # Linker scripts preprocessor (.lds.S -> .lds)
  # ---------------------------------------------------------------------------
  quiet_cmd_cpp_lds_S = LDS     $@

+ 1 - 1
target/linux/generic/pending-5.4/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch

@@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <[email protected]>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -6883,7 +6883,7 @@ static void __ref alloc_node_mem_map(str
+@@ -6884,7 +6884,7 @@ static void __ref alloc_node_mem_map(str
  		mem_map = NODE_DATA(0)->node_mem_map;
  #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
  		if (page_to_pfn(mem_map) != pgdat->node_start_pfn)

+ 4 - 6
target/linux/generic/pending-5.4/190-rtc-rs5c372-support_alarms_up_to_1_week.patch

@@ -12,11 +12,9 @@ Signed-off-by: Daniel González Cabanelas <[email protected]>
  drivers/rtc/rtc-rs5c372.c | 48 ++++++++++++++++++++++++++++++++++-----
  1 file changed, 42 insertions(+), 6 deletions(-)
 
-diff --git a/drivers/rtc/rtc-rs5c372.c b/drivers/rtc/rtc-rs5c372.c
-index 3bd6eaa0d..94b778c6e 100644
 --- a/drivers/rtc/rtc-rs5c372.c
 +++ b/drivers/rtc/rtc-rs5c372.c
-@@ -393,7 +393,9 @@ static int rs5c_read_alarm(struct device *dev, struct rtc_wkalrm *t)
+@@ -393,7 +393,9 @@ static int rs5c_read_alarm(struct device
  {
  	struct i2c_client	*client = to_i2c_client(dev);
  	struct rs5c372		*rs5c = i2c_get_clientdata(client);
@@ -27,7 +25,7 @@ index 3bd6eaa0d..94b778c6e 100644
  
  	status = rs5c_get_regs(rs5c);
  	if (status < 0)
-@@ -403,6 +405,30 @@ static int rs5c_read_alarm(struct device *dev, struct rtc_wkalrm *t)
+@@ -403,6 +405,30 @@ static int rs5c_read_alarm(struct device
  	t->time.tm_sec = 0;
  	t->time.tm_min = bcd2bin(rs5c->regs[RS5C_REG_ALARM_A_MIN] & 0x7f);
  	t->time.tm_hour = rs5c_reg2hr(rs5c, rs5c->regs[RS5C_REG_ALARM_A_HOURS]);
@@ -58,7 +56,7 @@ index 3bd6eaa0d..94b778c6e 100644
  
  	/* ... and status */
  	t->enabled = !!(rs5c->regs[RS5C_REG_CTRL1] & RS5C_CTRL1_AALE);
-@@ -417,12 +443,20 @@ static int rs5c_set_alarm(struct device *dev, struct rtc_wkalrm *t)
+@@ -417,12 +443,20 @@ static int rs5c_set_alarm(struct device
  	struct rs5c372		*rs5c = i2c_get_clientdata(client);
  	int			status, addr, i;
  	unsigned char		buf[3];
@@ -83,7 +81,7 @@ index 3bd6eaa0d..94b778c6e 100644
  
  	/* REVISIT: round up tm_sec */
  
-@@ -443,7 +477,9 @@ static int rs5c_set_alarm(struct device *dev, struct rtc_wkalrm *t)
+@@ -443,7 +477,9 @@ static int rs5c_set_alarm(struct device
  	/* set alarm */
  	buf[0] = bin2bcd(t->time.tm_min);
  	buf[1] = rs5c_hr2reg(rs5c, t->time.tm_hour);

+ 5 - 7
target/linux/generic/pending-5.4/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch

@@ -15,11 +15,9 @@ Signed-off-by: Daniel González Cabanelas <[email protected]>
  drivers/rtc/rtc-rs5c372.c | 16 ++++++++++++++++
  1 file changed, 16 insertions(+)
 
-diff --git a/drivers/rtc/rtc-rs5c372.c b/drivers/rtc/rtc-rs5c372.c
-index 94b778c6e..76775d66e 100644
 --- a/drivers/rtc/rtc-rs5c372.c
 +++ b/drivers/rtc/rtc-rs5c372.c
-@@ -654,6 +654,7 @@ static int rs5c372_probe(struct i2c_client *client,
+@@ -654,6 +654,7 @@ static int rs5c372_probe(struct i2c_clie
  	int err = 0;
  	int smbus_mode = 0;
  	struct rs5c372 *rs5c372;
@@ -27,7 +25,7 @@ index 94b778c6e..76775d66e 100644
  
  	dev_dbg(&client->dev, "%s\n", __func__);
  
-@@ -689,6 +690,12 @@ static int rs5c372_probe(struct i2c_client *client,
+@@ -689,6 +690,12 @@ static int rs5c372_probe(struct i2c_clie
  	else
  		rs5c372->type = id->driver_data;
  
@@ -40,7 +38,7 @@ index 94b778c6e..76775d66e 100644
  	/* we read registers 0x0f then 0x00-0x0f; skip the first one */
  	rs5c372->regs = &rs5c372->buf[1];
  	rs5c372->smbus = smbus_mode;
-@@ -722,6 +729,8 @@ static int rs5c372_probe(struct i2c_client *client,
+@@ -722,6 +729,8 @@ static int rs5c372_probe(struct i2c_clie
  		goto exit;
  	}
  
@@ -49,7 +47,7 @@ index 94b778c6e..76775d66e 100644
  	/* if the oscillator lost power and no other software (like
  	 * the bootloader) set it up, do it here.
  	 *
-@@ -748,6 +757,10 @@ static int rs5c372_probe(struct i2c_client *client,
+@@ -748,6 +757,10 @@ static int rs5c372_probe(struct i2c_clie
  			);
  
  	/* REVISIT use client->irq to register alarm irq ... */
@@ -60,7 +58,7 @@ index 94b778c6e..76775d66e 100644
  	rs5c372->rtc = devm_rtc_device_register(&client->dev,
  					rs5c372_driver.driver.name,
  					&rs5c372_rtc_ops, THIS_MODULE);
-@@ -761,6 +774,9 @@ static int rs5c372_probe(struct i2c_client *client,
+@@ -761,6 +774,9 @@ static int rs5c372_probe(struct i2c_clie
  	if (err)
  		goto exit;
  

+ 0 - 61
target/linux/generic/pending-5.4/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch

@@ -1,61 +0,0 @@
-From: Sven Eckelmann <[email protected]>
-Date: Sun, 22 Nov 2020 00:48:33 +0100
-Subject: [PATCH RFC] mtd: parser: cmdline: Fix parsing of part-names with colons
-
-Some devices (especially QCA ones) are already using hardcoded partition
-names with colons in it. The OpenMesh A62 for example provides following
-mtd relevant information via cmdline:
-
-  root=31:11 mtdparts=spi0.0:256k(0:SBL1),128k(0:MIBIB),384k(0:QSEE),64k(0:CDT),64k(0:DDRPARAMS),64k(0:APPSBLENV),512k(0:APPSBL),64k(0:ART),64k(custom),64k(0:KEYS),0x002b0000(kernel),0x00c80000(rootfs),15552k(inactive) rootfsname=rootfs rootwait
-
-The change to split only on the last colon between mtd-id and partitions
-will cause newpart to see following string for the first partition:
-
-  KEYS),0x002b0000(kernel),0x00c80000(rootfs),15552k(inactive)
-
-Such a partition list cannot be parsed and thus the device fails to boot.
-
-Avoid this behavior by making sure that the start of the first part-name
-("(") will also be the last byte the mtd-id split algorithm is using for
-its colon search.
-
-Forwarded: https://patchwork.ozlabs.org/project/linux-mtd/patch/[email protected]/
-Fixes: eb13fa022741 ("mtd: parser: cmdline: Support MTD names containing one or more colons")
-Signed-off-by: Sven Eckelmann <[email protected]>
-
---- a/drivers/mtd/parsers/cmdlinepart.c
-+++ b/drivers/mtd/parsers/cmdlinepart.c
-@@ -218,7 +218,7 @@ static int mtdpart_setup_real(char *s)
- 		struct cmdline_mtd_partition *this_mtd;
- 		struct mtd_partition *parts;
- 		int mtd_id_len, num_parts;
--		char *p, *mtd_id, *semicol;
-+		char *p, *mtd_id, *semicol, *open_parenth;
- 
- 		/*
- 		 * Replace the first ';' by a NULL char so strrchr can work
-@@ -228,6 +228,13 @@ static int mtdpart_setup_real(char *s)
- 		if (semicol)
- 			*semicol = '\0';
- 
-+		/* make sure that part-names with ":" will not be handled as
-+		 * part of the mtd-id with an ":"
-+		 */
-+		open_parenth = strchr(s, '(');
-+		if (open_parenth)
-+			*open_parenth = '\0';
-+
- 		mtd_id = s;
- 
- 		/*
-@@ -237,6 +244,10 @@ static int mtdpart_setup_real(char *s)
- 		 */
- 		p = strrchr(s, ':');
- 
-+		/* Restore the '(' now. */
-+		if (open_parenth)
-+			*open_parenth = '(';
-+
- 		/* Restore the ';' now. */
- 		if (semicol)
- 			*semicol = ';';

+ 1 - 1
target/linux/generic/pending-5.4/530-jffs2_make_lzma_available.patch

@@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis <[email protected]>
 +}
 --- a/fs/jffs2/super.c
 +++ b/fs/jffs2/super.c
-@@ -360,14 +360,41 @@ static int __init init_jffs2_fs(void)
+@@ -377,14 +377,41 @@ static int __init init_jffs2_fs(void)
  	BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
  	BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
  

+ 1 - 1
target/linux/generic/pending-5.4/610-netfilter_match_bypass_default_checks.patch

@@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		return -ENOMEM;
  
 @@ -818,6 +846,7 @@ copy_entries_to_user(unsigned int total_
- 	const struct xt_table_info *private = table->private;
+ 	const struct xt_table_info *private = xt_table_get_private_protected(table);
  	int ret = 0;
  	const void *loc_cpu_entry;
 +	u8 flags;

+ 2 - 2
target/linux/generic/pending-5.4/611-netfilter_match_bypass_default_table.patch

@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	/* Initialization */
 +	WARN_ON(!(table->valid_hooks & (1 << hook)));
 +	local_bh_disable();
-+	private = READ_ONCE(table->private); /* Address dependency. */
++	private = rcu_access_pointer(table->private);
 +	cpu        = smp_processor_id();
 +	table_base = private->entries;
 +
@@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 -	WARN_ON(!(table->valid_hooks & (1 << hook)));
 -	local_bh_disable();
  	addend = xt_write_recseq_begin();
--	private = READ_ONCE(table->private); /* Address dependency. */
+-	private = rcu_access_pointer(table->private);
 -	cpu        = smp_processor_id();
 -	table_base = private->entries;
  	jumpstack  = (struct ipt_entry **)private->jumpstack[cpu];

+ 2 - 2
target/linux/ipq40xx/patches-5.4/0013-v5.6-crypto-qce-allow-building-only-hashes-ciphers.patch

@@ -20,7 +20,7 @@ Signed-off-by: Herbert Xu <[email protected]>
 
 --- a/drivers/crypto/Kconfig
 +++ b/drivers/crypto/Kconfig
-@@ -616,6 +616,14 @@ config CRYPTO_DEV_QCE
+@@ -617,6 +617,14 @@ config CRYPTO_DEV_QCE
  	tristate "Qualcomm crypto engine accelerator"
  	depends on ARCH_QCOM || COMPILE_TEST
  	depends on HAS_IOMEM
@@ -35,7 +35,7 @@ Signed-off-by: Herbert Xu <[email protected]>
  	select CRYPTO_AES
  	select CRYPTO_LIB_DES
  	select CRYPTO_ECB
-@@ -623,10 +631,57 @@ config CRYPTO_DEV_QCE
+@@ -624,10 +632,57 @@ config CRYPTO_DEV_QCE
  	select CRYPTO_XTS
  	select CRYPTO_CTR
  	select CRYPTO_BLKCIPHER

+ 1 - 1
target/linux/ipq40xx/patches-5.4/0015-v5.7-crypto-qce-use-AES-fallback-for-small-requests.patch

@@ -28,7 +28,7 @@ Signed-off-by: Herbert Xu <[email protected]>
 
 --- a/drivers/crypto/Kconfig
 +++ b/drivers/crypto/Kconfig
-@@ -683,6 +683,29 @@ choice
+@@ -684,6 +684,29 @@ choice
  
  endchoice
  

+ 2 - 1
target/linux/ipq806x/patches-5.4/0069-arm-boot-add-dts-files.patch

@@ -10,7 +10,8 @@ Signed-off-by: John Crispin <[email protected]>
 
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
-@@ -843,6 +843,22 @@ dtb-$(CONFIG_ARCH_QCOM) += \
+@@ -842,7 +842,23 @@ dtb-$(CONFIG_ARCH_QCOM) += \
+ 	qcom-ipq4019-ap.dk04.1-c3.dtb \
  	qcom-ipq4019-ap.dk07.1-c1.dtb \
  	qcom-ipq4019-ap.dk07.1-c2.dtb \
 +	qcom-ipq8062-wg2600hp3.dtb \

+ 1 - 1
target/linux/ipq806x/patches-5.4/092-1-v5.7-qcom-cpufreq-nvmem-Add-support-for-krait-based-socs.patch

@@ -358,4 +358,4 @@ Signed-off-by: Viresh Kumar <[email protected]>
 +	{ .compatible = "qcom,msm8960", .data = &match_data_krait },
  	{},
  };
- 
+ MODULE_DEVICE_TABLE(of, qcom_cpufreq_match_list);

+ 1 - 1
target/linux/ipq806x/patches-5.4/900-arm-add-cmdline-override.patch

@@ -1,6 +1,6 @@
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -1836,6 +1836,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
+@@ -1838,6 +1838,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
  	  Only command line ATAG will be processed, the rest of the ATAGs
  	  sent by bootloader will be ignored.
  

+ 1 - 1
target/linux/layerscape/patches-5.4/302-dts-0074-arm64-dts-fsl-ls1028a-Add-Felix-switch-port-DT-node.patch

@@ -48,7 +48,7 @@ Signed-off-by: Claudiu Manoil <[email protected]>
  			ethernet@0,4 {
  				compatible = "fsl,enetc-ptp";
  				reg = <0x000400 0 0 0 0>;
- 				clocks = <&clockgen 4 0>;
+ 				clocks = <&clockgen 2 3>;
  				little-endian;
  			};
 +			switch@0,5 {

+ 1 - 1
target/linux/layerscape/patches-5.4/302-dts-0112-arm64-dts-fsl-ls1028a-prepare-dts-for-overlay.patch

@@ -386,7 +386,7 @@ Signed-off-by: Alex Marginean <[email protected]>
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
 @@ -774,30 +774,39 @@
- 				clocks = <&clockgen 4 0>;
+ 				clocks = <&clockgen 2 3>;
  				little-endian;
  			};
 -			switch@0,5 {

+ 2 - 2
target/linux/layerscape/patches-5.4/701-net-0142-bus-fsl-mc-Some-apis-are-made-public-for-vfio.patch

@@ -18,7 +18,7 @@ Signed-off-by: Laurentiu Tudor <[email protected]>
 
 --- a/drivers/bus/fsl-mc/fsl-mc-allocator.c
 +++ b/drivers/bus/fsl-mc/fsl-mc-allocator.c
-@@ -547,6 +547,7 @@ void fsl_mc_init_all_resource_pools(stru
+@@ -549,6 +549,7 @@ void fsl_mc_init_all_resource_pools(stru
  		mutex_init(&res_pool->mutex);
  	}
  }
@@ -26,7 +26,7 @@ Signed-off-by: Laurentiu Tudor <[email protected]>
  
  static void fsl_mc_cleanup_resource_pool(struct fsl_mc_device *mc_bus_dev,
  					 enum fsl_mc_pool_type pool_type)
-@@ -571,6 +572,7 @@ void fsl_mc_cleanup_all_resource_pools(s
+@@ -573,6 +574,7 @@ void fsl_mc_cleanup_all_resource_pools(s
  	for (pool_type = 0; pool_type < FSL_MC_NUM_POOL_TYPES; pool_type++)
  		fsl_mc_cleanup_resource_pool(mc_bus_dev, pool_type);
  }

+ 1 - 1
target/linux/mediatek/patches-5.4/0001-v5.7-spi-make-spi-max-frequency-optional.patch

@@ -20,7 +20,7 @@ Signed-off-by: Mark Brown <[email protected]>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -1802,13 +1802,8 @@ static int of_spi_parse_dt(struct spi_co
+@@ -1803,13 +1803,8 @@ static int of_spi_parse_dt(struct spi_co
  		spi->mode |= SPI_CS_HIGH;
  
  	/* Device speed */

+ 2 - 2
target/linux/mediatek/patches-5.4/0303-mtd-spinand-disable-on-die-ECC.patch

@@ -11,7 +11,7 @@ Signed-off-by: Xiangsheng Hou <[email protected]>
 
 --- a/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
-@@ -491,7 +491,7 @@ static int spinand_mtd_read(struct mtd_i
+@@ -495,7 +495,7 @@ static int spinand_mtd_read(struct mtd_i
  	int ret = 0;
  
  	if (ops->mode != MTD_OPS_RAW && spinand->eccinfo.ooblayout)
@@ -20,7 +20,7 @@ Signed-off-by: Xiangsheng Hou <[email protected]>
  
  	mutex_lock(&spinand->lock);
  
-@@ -539,7 +539,7 @@ static int spinand_mtd_write(struct mtd_
+@@ -543,7 +543,7 @@ static int spinand_mtd_write(struct mtd_
  	int ret = 0;
  
  	if (ops->mode != MTD_OPS_RAW && mtd->ooblayout)

+ 3 - 3
target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch

@@ -95,7 +95,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	}
  
  	netif_tx_start_all_queues(port->dev);
-@@ -5125,8 +5129,11 @@ static void mvpp2_mac_config(struct phyl
+@@ -5126,8 +5130,11 @@ static void mvpp2_mac_config(struct phyl
  	mvpp2_port_enable(port);
  }
  
@@ -107,8 +107,8 @@ Signed-off-by: David S. Miller <[email protected]>
 +			      int speed, int duplex,
 +			      bool tx_pause, bool rx_pause)
  {
- 	struct net_device *dev = to_net_dev(config->dev);
- 	struct mvpp2_port *port = netdev_priv(dev);
+ 	struct mvpp2_port *port = mvpp2_phylink_to_port(config);
+ 	u32 val;
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 @@ -449,9 +449,10 @@ static void mtk_mac_link_down(struct phy

+ 1 - 3
target/linux/mvebu/patches-5.4/007-gpio-mvebu-avoid_error_message_for_optional_IRQ.patch

@@ -18,11 +18,9 @@ Signed-off-by: Bartosz Golaszewski <[email protected]>
  drivers/gpio/gpio-mvebu.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
-index d2b999c7987f1..3c9f4fb3d5a28 100644
 --- a/drivers/gpio/gpio-mvebu.c
 +++ b/drivers/gpio/gpio-mvebu.c
-@@ -1245,7 +1245,7 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
+@@ -1253,7 +1253,7 @@ static int mvebu_gpio_probe(struct platf
  	 * pins.
  	 */
  	for (i = 0; i < 4; i++) {