diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 9a70b4cdd813e3d2ef2ae3a532e863df1392bf5e..1bb0fe99119703dda7dc6d172c0164b43a6cd45b 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -8,11 +8,11 @@ endif
 
 LINUX_VERSION-4.9 = .206
 LINUX_VERSION-4.14 = .158
-LINUX_VERSION-4.19 = .86
+LINUX_VERSION-4.19 = .88
 
 LINUX_KERNEL_HASH-4.9.206 = 1df27899a9bc4dd874f3830ab9e7b638f0026dffd67a2e230444e5d2805ccad6
 LINUX_KERNEL_HASH-4.14.158 = 0d49ec72e273f6fc7462ad56849b2285f13fd5f4185e8f932a0074fc2eca1bb3
-LINUX_KERNEL_HASH-4.19.86 = bf2cbba319d43d1bd9e876ac0b55ab83118d1a1e61cce3c929d5371f7567bff6
+LINUX_KERNEL_HASH-4.19.88 = c1923b6bd166e6dd07be860c15f59e8273aaa8692bc2a1fce1d31b826b9b3fbe
 
 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/ath79/patches-4.19/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch
index ad7b12d650cc31d94cdf5da032c67023ee904e05..7784801c8cbfdcdf3a2c2353a31c7bfea9bd58b5 100644
--- a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch
@@ -214,7 +214,7 @@
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
-@@ -836,10 +837,10 @@ static void tcp_v6_send_response(const s
+@@ -837,10 +838,10 @@ static void tcp_v6_send_response(const s
  	topt = (__be32 *)(t1 + 1);
  
  	if (tsecr) {
diff --git a/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch b/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch
index cfc52ead26ae7a6bc30697f6ded9032ede9cac61..f08379057f9bbd65c15b2ff51f16967a7a8905d6 100644
--- a/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0030-mm-Remove-the-PFN-busy-warning.patch
@@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -7980,8 +7980,6 @@ int alloc_contig_range(unsigned long sta
+@@ -7977,8 +7977,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/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch b/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
index e3aeded95cb7c3843120852bec92206d3741bdb3..307e82ede4e1fd3d8a3c76d439ef15f8b1d408ca 100644
--- a/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
@@ -11,7 +11,7 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
 
 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
 +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -352,7 +352,7 @@ static const struct gpio_chip bcm2835_gp
+@@ -350,7 +350,7 @@ static const struct gpio_chip bcm2835_gp
  	.get_direction = bcm2835_gpio_get_direction,
  	.get = bcm2835_gpio_get,
  	.set = bcm2835_gpio_set,
diff --git a/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch b/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch
index af67d42f8d01bcedfe3c59963b9a4cd490d0cfcf..25f587b2d7081ed072cb7c7172d9ea5359b25b5d 100644
--- a/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0044-MMC-added-alternative-MMC-driver.patch
@@ -125,7 +125,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  static inline int mmc_blk_part_switch(struct mmc_card *card,
  				      unsigned int part_type);
  
-@@ -2919,6 +2926,7 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2913,6 +2920,7 @@ static int mmc_blk_probe(struct mmc_card
  {
  	struct mmc_blk_data *md, *part_md;
  	char cap_str[10];
@@ -133,7 +133,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
  	/*
  	 * Check that the card supports the command class(es) we need.
-@@ -2926,7 +2934,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2920,7 +2928,16 @@ static int mmc_blk_probe(struct mmc_card
  	if (!(card->csd.cmdclass & CCC_BLOCK_READ))
  		return -ENODEV;
  
@@ -151,7 +151,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
  	card->complete_wq = alloc_workqueue("mmc_complete",
  					WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
-@@ -2941,9 +2958,14 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2935,9 +2952,14 @@ static int mmc_blk_probe(struct mmc_card
  
  	string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
  			cap_str, sizeof(cap_str));
diff --git a/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch b/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch
index d61948995cf1d00c940998447886e7e9976520ba..4251ecafefcbcb17cc8be03b779eba50fa4934d7 100644
--- a/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0093-brcm-adds-support-for-BCM43341-wifi.patch
@@ -57,7 +57,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  	cfg->pwr_save = enabled;
  	if (!check_vif_up(ifp->vif)) {
  
-@@ -6776,12 +6778,18 @@ static s32 brcmf_translate_country_code(
+@@ -6786,12 +6788,18 @@ static s32 brcmf_translate_country_code(
  	struct brcmfmac_pd_cc *country_codes;
  	struct brcmfmac_pd_cc_entry *cc;
  	s32 found_index;
@@ -78,7 +78,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  	}
  
  	if ((alpha2[0] == ccreq->country_abbrev[0]) &&
-@@ -6805,10 +6813,14 @@ static s32 brcmf_translate_country_code(
+@@ -6815,10 +6823,14 @@ static s32 brcmf_translate_country_code(
  		brcmf_dbg(TRACE, "No country code match found\n");
  		return -EINVAL;
  	}
@@ -109,7 +109,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
-@@ -608,6 +608,7 @@ BRCMF_FW_DEF(4329, "brcmfmac4329-sdio");
+@@ -614,6 +614,7 @@ BRCMF_FW_DEF(4329, "brcmfmac4329-sdio");
  BRCMF_FW_DEF(4330, "brcmfmac4330-sdio");
  BRCMF_FW_DEF(4334, "brcmfmac4334-sdio");
  BRCMF_FW_DEF(43340, "brcmfmac43340-sdio");
@@ -117,7 +117,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  BRCMF_FW_DEF(4335, "brcmfmac4335-sdio");
  BRCMF_FW_DEF(43362, "brcmfmac43362-sdio");
  BRCMF_FW_DEF(4339, "brcmfmac4339-sdio");
-@@ -628,7 +629,7 @@ static const struct brcmf_firmware_mappi
+@@ -634,7 +635,7 @@ static const struct brcmf_firmware_mappi
  	BRCMF_FW_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330),
  	BRCMF_FW_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334),
  	BRCMF_FW_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340),
diff --git a/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch b/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch
index 27e6a201a5bdc4edc75ea011c22959e649b9aabb..8111f9d42ce192dca52a00ee1db61c1af9894ac2 100644
--- a/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0094-brcmfmac-Mute-expected-startup-errors.patch
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -6844,6 +6844,8 @@ static void brcmf_cfg80211_reg_notifier(
+@@ -6854,6 +6854,8 @@ static void brcmf_cfg80211_reg_notifier(
  	/* ignore non-ISO3166 country codes */
  	for (i = 0; i < 2; i++)
  		if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') {
diff --git a/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch b/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch
index 9c979c3e979754502fd97e4157ebd908f43b0af0..97073abff44bac7534985fad7bdf68e49bc33c9f 100644
--- a/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0349-Revert-brcmfmac-Mute-expected-startup-errors.patch
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -6844,8 +6844,6 @@ static void brcmf_cfg80211_reg_notifier(
+@@ -6854,8 +6854,6 @@ static void brcmf_cfg80211_reg_notifier(
  	/* ignore non-ISO3166 country codes */
  	for (i = 0; i < 2; i++)
  		if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') {
diff --git a/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch
index 0e2657c4230f3b8772d327e2917e747ea80b5490..f91643342f83c70c5917da144c13f4f7b4df7d21 100644
--- a/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0541-bcmgenet-Better-coalescing-parameter-defaults.patch
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -2149,7 +2149,7 @@ static void bcmgenet_init_tx_ring(struct
+@@ -2147,7 +2147,7 @@ static void bcmgenet_init_tx_ring(struct
  
  	bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
  	bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
diff --git a/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch b/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch
index c29457500e2e2cf67ebca70debe26a0a490882c7..02b5701099ec10a545907f230773c571e01afec7 100644
--- a/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0542-net-genet-enable-link-energy-detect-powerdown-for-ex.patch
@@ -20,7 +20,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
-@@ -285,6 +285,8 @@ int bcmgenet_mii_probe(struct net_device
+@@ -318,6 +318,8 @@ int bcmgenet_mii_probe(struct net_device
  	/* Communicate the integrated PHY revision */
  	if (priv->internal_phy)
  		phy_flags = priv->gphy_rev;
diff --git a/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch b/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch
index d7103c58225403c53496b8f5500414d78ec43d94..655937e3036f900f24e6fa09ed419949bcf70d4f 100644
--- a/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch
+++ b/target/linux/brcm2708/patches-4.19/950-0549-pinctrl-bcm2835-Add-support-for-BCM2838.patch
@@ -28,7 +28,7 @@ compatibility for the device-tree configuration has been retained.
  #define FSEL_REG(p)		(GPFSEL0 + (((p) / 10) * 4))
  #define FSEL_SHIFT(p)		(((p) % 10) * 3)
  #define GPIO_REG_OFFSET(p)	((p) / 32)
-@@ -917,21 +923,45 @@ static void bcm2835_pull_config_set(stru
+@@ -915,21 +921,45 @@ static void bcm2835_pull_config_set(stru
  		unsigned int pin, unsigned int arg)
  {
  	u32 off, bit;
diff --git a/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch b/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch
deleted file mode 100644
index d2fa02a957b1451e9e216105cd5dd431c8ff4a17..0000000000000000000000000000000000000000
--- a/target/linux/gemini/patches-4.19/0004-boot-sq201-from-sda1.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From 95be54e285767c5209bb51df923373f78b8c4099 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Mon, 16 Jul 2018 23:36:30 +0200
-Subject: [PATCH 04/18] boot sq201 from sda1
-
----
- arch/arm/boot/dts/gemini-sq201.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm/boot/dts/gemini-sq201.dts
-+++ b/arch/arm/boot/dts/gemini-sq201.dts
-@@ -20,7 +20,7 @@
- 	};
- 
- 	chosen {
--		bootargs = "console=ttyS0,115200n8";
-+		bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait";
- 		stdout-path = &uart0;
- 	};
- 
diff --git a/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch b/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch
index 302945ff45e40ff43f507a50f01f884cbf81874e..92e2e65c71dda8a924062fb4acea37df9e9b331e 100644
--- a/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch
+++ b/target/linux/gemini/patches-4.19/0008-ARM-dts-Enable-Gemini-flash-access.patch
@@ -121,7 +121,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  			/* 16MB of flash */
  			reg = <0x30000000 0x01000000>;
  
-@@ -184,9 +177,7 @@
+@@ -157,9 +150,7 @@
  					mux {
  						function = "gpio0";
  						groups = "gpio0fgrp",
@@ -132,7 +132,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  					};
  				};
  				/*
-@@ -199,6 +190,18 @@
+@@ -172,6 +163,18 @@
  						groups = "gpio1dgrp";
  					};
  				};
diff --git a/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch b/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch
index 578e970c0fd9fe368654774bd561781e8773470b..9dc5f65f7d700bc1aa44f4e92b8ad11570c01b9d 100644
--- a/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch
+++ b/target/linux/gemini/patches-4.19/0011-ARM-dts-Fix-up-SQ201-flash-access.patch
@@ -19,50 +19,8 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  	};
  
  	chosen {
--		bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait";
+-		bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait";
 +		bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock3 rw rootfstype=squashfs,jffs2 rootwait";
  		stdout-path = &uart0;
  	};
  
-@@ -131,37 +131,10 @@
- 			/* 16MB of flash */
- 			reg = <0x30000000 0x01000000>;
- 
--			partition@0 {
--				label = "RedBoot";
--				reg = <0x00000000 0x00120000>;
--				read-only;
--			};
--			partition@120000 {
--				label = "Kernel";
--				reg = <0x00120000 0x00200000>;
--			};
--			partition@320000 {
--				label = "Ramdisk";
--				reg = <0x00320000 0x00600000>;
--			};
--			partition@920000 {
--				label = "Application";
--				reg = <0x00920000 0x00600000>;
--			};
--			partition@f20000 {
--				label = "VCTL";
--				reg = <0x00f20000 0x00020000>;
--				read-only;
--			};
--			partition@f40000 {
--				label = "CurConf";
--				reg = <0x00f40000 0x000a0000>;
--				read-only;
--			};
--			partition@fe0000 {
--				label = "FIS directory";
--				reg = <0x00fe0000 0x00020000>;
--				read-only;
-+			partitions {
-+				compatible = "redboot-fis";
-+				/* Eraseblock at 0xfe0000 */
-+				fis-index-block = <0x1fc>;
- 			};
- 		};
- 
diff --git a/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch b/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch
deleted file mode 100644
index 7bd3ed9fad0f9b1d589014e0327fd207dfed0941..0000000000000000000000000000000000000000
--- a/target/linux/generic/backport-4.19/500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From d62e98ed1efcaa94caa004f622944afdce5f1c3c Mon Sep 17 00:00:00 2001
-From: Gabor Juhos <juhosg@openwrt.org>
-Date: Sun, 9 Dec 2018 18:12:13 +0100
-Subject: [PATCH] ubifs: Fix default compression selection in ubifs
-
-When ubifs is build without the LZO compressor and no compressor is
-given the creation of the default file system will fail. before
-selection the LZO compressor check if it is present and if not fall back
-to the zlib or none.
-
-Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-Signed-off-by: Richard Weinberger <richard@nod.at>
----
- fs/ubifs/sb.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
---- a/fs/ubifs/sb.c
-+++ b/fs/ubifs/sb.c
-@@ -63,6 +63,17 @@
- /* Default time granularity in nanoseconds */
- #define DEFAULT_TIME_GRAN 1000000000
- 
-+static int get_default_compressor(struct ubifs_info *c)
-+{
-+	if (ubifs_compr_present(c, UBIFS_COMPR_LZO))
-+		return UBIFS_COMPR_LZO;
-+
-+	if (ubifs_compr_present(c, UBIFS_COMPR_ZLIB))
-+		return UBIFS_COMPR_ZLIB;
-+
-+	return UBIFS_COMPR_NONE;
-+}
-+
- /**
-  * create_default_filesystem - format empty UBI volume.
-  * @c: UBIFS file-system description object
-@@ -186,7 +197,7 @@ static int create_default_filesystem(str
- 	if (c->mount_opts.override_compr)
- 		sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);
- 	else
--		sup->default_compr = cpu_to_le16(UBIFS_COMPR_LZO);
-+		sup->default_compr = cpu_to_le16(get_default_compressor(c));
- 
- 	generate_random_uuid(sup->uuid);
- 
diff --git a/target/linux/generic/hack-4.19/902-debloat_proc.patch b/target/linux/generic/hack-4.19/902-debloat_proc.patch
index ec976c165b326652536dd7db705d53c0c7fb041d..4bd4d2216889927ca2ba56740a14f9485c5b6fbf 100644
--- a/target/linux/generic/hack-4.19/902-debloat_proc.patch
+++ b/target/linux/generic/hack-4.19/902-debloat_proc.patch
@@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3485,6 +3485,8 @@ static __net_initdata struct pernet_oper
+@@ -3486,6 +3486,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
diff --git a/target/linux/generic/hack-4.19/930-crashlog.patch b/target/linux/generic/hack-4.19/930-crashlog.patch
index 1562df44a4564c673026da637199a34afcb94cb1..bb16f22915fa9f3727cb63a229d92071532d0c90 100644
--- a/target/linux/generic/hack-4.19/930-crashlog.patch
+++ b/target/linux/generic/hack-4.19/930-crashlog.patch
@@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	help
 --- a/kernel/Makefile
 +++ b/kernel/Makefile
-@@ -117,6 +117,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o
+@@ -114,6 +114,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o
  obj-$(CONFIG_HAS_IOMEM) += iomem.o
  obj-$(CONFIG_ZONE_DEVICE) += memremap.o
  obj-$(CONFIG_RSEQ) += rseq.o
diff --git a/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
index 1a416e77827b40065f6e2687736081ea6597aa06..ec541a865c81039bf55075bad4967d6c7eb4ff8b 100644
--- a/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
+++ b/target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
@@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -6403,7 +6403,7 @@ static void __ref alloc_node_mem_map(str
+@@ -6400,7 +6400,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)
diff --git a/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch
index e646224df28f045da678eacec4aca9825c38571c..bc783deb409d9ec6c84817d0169c456895943672 100644
--- a/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch
+++ b/target/linux/generic/pending-4.19/400-mtd-add-rootfs-split-support.patch
@@ -59,15 +59,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /*
   * Given a pointer to the MTD object in the mtd_part structure, we can retrieve
   * the pointer to that structure.
-@@ -623,6 +627,7 @@ int mtd_add_partition(struct mtd_info *p
- 	mutex_unlock(&mtd_partitions_mutex);
+@@ -626,6 +630,7 @@ int mtd_add_partition(struct mtd_info *p
+ 	if (ret)
+ 		goto err_remove_part;
  
- 	add_mtd_device(&new->mtd);
 +	mtd_partition_split(parent, new);
- 
  	mtd_add_partition_attrs(new);
  
-@@ -701,6 +706,29 @@ int mtd_del_partition(struct mtd_info *m
+ 	return 0;
+@@ -712,6 +717,29 @@ int mtd_del_partition(struct mtd_info *m
  }
  EXPORT_SYMBOL_GPL(mtd_del_partition);
  
@@ -97,10 +97,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /*
   * This function, given a master MTD object and a partition table, creates
   * and registers slave MTD objects which are bound to the master according to
-@@ -732,6 +760,7 @@ int add_mtd_partitions(struct mtd_info *
- 		mutex_unlock(&mtd_partitions_mutex);
+@@ -752,6 +780,7 @@ int add_mtd_partitions(struct mtd_info *
+ 			goto err_del_partitions;
+ 		}
  
- 		add_mtd_device(&slave->mtd);
 +		mtd_partition_split(master, slave);
  		mtd_add_partition_attrs(slave);
  		/* Look for subpartitions */
diff --git a/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch
index 4026a2050b9e5db4c36ad8986dbb463be0996793..a59659cda6a9d7cd68251ff676283a71660a6aff 100644
--- a/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch
+++ b/target/linux/generic/pending-4.19/401-mtd-add-support-for-different-partition-parser-types.patch
@@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  
  /*
   * Given a pointer to the MTD object in the mtd_part structure, we can retrieve
-@@ -706,6 +710,36 @@ int mtd_del_partition(struct mtd_info *m
+@@ -717,6 +721,36 @@ int mtd_del_partition(struct mtd_info *m
  }
  EXPORT_SYMBOL_GPL(mtd_del_partition);
  
@@ -57,7 +57,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
  #define SPLIT_FIRMWARE_NAME	CONFIG_MTD_SPLIT_FIRMWARE_NAME
  #else
-@@ -1041,6 +1075,61 @@ void mtd_part_parser_cleanup(struct mtd_
+@@ -1066,6 +1100,61 @@ void mtd_part_parser_cleanup(struct mtd_
  	}
  }
  
diff --git a/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
index 8a90ce6a8b75874fe4a10f0f20b1c60290622386..58d2e445745416302f3cbdfd638b3dbef14d4c93 100644
--- a/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
+++ b/target/linux/generic/pending-4.19/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
@@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/drivers/mtd/mtdpart.c
 +++ b/drivers/mtd/mtdpart.c
-@@ -748,6 +748,7 @@ run_parsers_by_type(struct mtd_part *sla
+@@ -759,6 +759,7 @@ run_parsers_by_type(struct mtd_part *sla
  
  static void split_firmware(struct mtd_info *master, struct mtd_part *part)
  {
@@ -18,7 +18,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  }
  
  static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part)
-@@ -757,6 +758,12 @@ static void mtd_partition_split(struct m
+@@ -768,6 +769,12 @@ static void mtd_partition_split(struct m
  	if (rootfs_found)
  		return;
  
diff --git a/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch
index 2e95e99f6d1cdc4d20ecde9de3141401dfe20193..e404ec1fb273f71a018855e4264622b2fc72d717 100644
--- a/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch
+++ b/target/linux/generic/pending-4.19/404-mtd-add-more-helper-functions.patch
@@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/drivers/mtd/mtdpart.c
 +++ b/drivers/mtd/mtdpart.c
-@@ -1154,6 +1154,24 @@ int mtd_is_partition(const struct mtd_in
+@@ -1179,6 +1179,24 @@ int mtd_is_partition(const struct mtd_in
  }
  EXPORT_SYMBOL_GPL(mtd_is_partition);
  
diff --git a/target/linux/generic/pending-4.19/920-mangle_bootargs.patch b/target/linux/generic/pending-4.19/920-mangle_bootargs.patch
index 51af6b5d6b97bd825da78ab91aebdc6d0dc2b3a8..0750ab77c21030dcc0b3905639dd4088ca2d68eb 100644
--- a/target/linux/generic/pending-4.19/920-mangle_bootargs.patch
+++ b/target/linux/generic/pending-4.19/920-mangle_bootargs.patch
@@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  	help
 --- a/init/main.c
 +++ b/init/main.c
-@@ -366,6 +366,29 @@ static inline void setup_nr_cpu_ids(void
+@@ -365,6 +365,29 @@ static inline void setup_nr_cpu_ids(void
  static inline void smp_prepare_cpus(unsigned int maxcpus) { }
  #endif
  
@@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  /*
   * We need to store the untouched command line for future reference.
   * We also need to store the touched command line since the parameter
-@@ -558,6 +581,7 @@ asmlinkage __visible void __init start_k
+@@ -557,6 +580,7 @@ asmlinkage __visible void __init start_k
  	add_device_randomness(command_line, strlen(command_line));
  	boot_init_stack_canary();
  	mm_init_cpumask(&init_mm);
diff --git a/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch b/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch
deleted file mode 100644
index dde7b3f23b2b9c0e68c40a421f123a72508965cd..0000000000000000000000000000000000000000
--- a/target/linux/lantiq/patches-4.19/0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 09bbf8c732e7a6ce290fc7c2d5a3e79ec6c3e8d2 Mon Sep 17 00:00:00 2001
-From: Mathias Kresin <dev@kresin.me>
-Date: Wed, 3 Jul 2019 17:03:02 +0200
-Subject: [PATCH] usb: dwc2: use a longer core rest timeout in
- dwc2_core_reset()
-
-Testing on different generations of Lantiq MIPS SoC based boards, showed
-that it takes up to 1500 us until the core reset bit is cleared.
-
-The driver from the vendor SDK (ifxhcd) uses a 1 second timeout. Use the
-same timeout to fix wrong hang detections and make the driver work for
-Lantiq MIPS SoCs.
-
-Signed-off-by: Mathias Kresin <dev@kresin.me>
----
- drivers/usb/dwc2/core.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/usb/dwc2/core.c
-+++ b/drivers/usb/dwc2/core.c
-@@ -524,7 +524,7 @@ int dwc2_core_reset(struct dwc2_hsotg *h
- 	greset |= GRSTCTL_CSFTRST;
- 	dwc2_writel(hsotg, greset, GRSTCTL);
- 
--	if (dwc2_hsotg_wait_bit_clear(hsotg, GRSTCTL, GRSTCTL_CSFTRST, 50)) {
-+	if (dwc2_hsotg_wait_bit_clear(hsotg, GRSTCTL, GRSTCTL_CSFTRST, 10000)) {
- 		dev_warn(hsotg->dev, "%s: HANG! Soft Reset timeout GRSTCTL GRSTCTL_CSFTRST\n",
- 			 __func__);
- 		return -EBUSY;
diff --git a/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch b/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch
index 9afcedaa771a8aa39f29111393cc3a541b11e628..d4c4ea773859986285544e493a8a2c178b3599cb 100644
--- a/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch
+++ b/target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch
@@ -57,83 +57,7 @@
  }
  
  static void mtk_pcie_port_free(struct mtk_pcie_port *port)
-@@ -394,75 +395,6 @@ static struct pci_ops mtk_pcie_ops_v2 =
- 	.write = mtk_pcie_config_write,
- };
- 
--static int mtk_pcie_startup_port_v2(struct mtk_pcie_port *port)
--{
--	struct mtk_pcie *pcie = port->pcie;
--	struct resource *mem = &pcie->mem;
--	const struct mtk_pcie_soc *soc = port->pcie->soc;
--	u32 val;
--	size_t size;
--	int err;
--
--	/* MT7622 platforms need to enable LTSSM and ASPM from PCIe subsys */
--	if (pcie->base) {
--		val = readl(pcie->base + PCIE_SYS_CFG_V2);
--		val |= PCIE_CSR_LTSSM_EN(port->slot) |
--		       PCIE_CSR_ASPM_L1_EN(port->slot);
--		writel(val, pcie->base + PCIE_SYS_CFG_V2);
--	}
--
--	/* Assert all reset signals */
--	writel(0, port->base + PCIE_RST_CTRL);
--
--	/*
--	 * Enable PCIe link down reset, if link status changed from link up to
--	 * link down, this will reset MAC control registers and configuration
--	 * space.
--	 */
--	writel(PCIE_LINKDOWN_RST_EN, port->base + PCIE_RST_CTRL);
--
--	/* De-assert PHY, PE, PIPE, MAC and configuration reset	*/
--	val = readl(port->base + PCIE_RST_CTRL);
--	val |= PCIE_PHY_RSTB | PCIE_PERSTB | PCIE_PIPE_SRSTB |
--	       PCIE_MAC_SRSTB | PCIE_CRSTB;
--	writel(val, port->base + PCIE_RST_CTRL);
--
--	/* Set up vendor ID and class code */
--	if (soc->need_fix_class_id) {
--		val = PCI_VENDOR_ID_MEDIATEK;
--		writew(val, port->base + PCIE_CONF_VEND_ID);
--
--		val = PCI_CLASS_BRIDGE_HOST;
--		writew(val, port->base + PCIE_CONF_CLASS_ID);
--	}
--
--	/* 100ms timeout value should be enough for Gen1/2 training */
--	err = readl_poll_timeout(port->base + PCIE_LINK_STATUS_V2, val,
--				 !!(val & PCIE_PORT_LINKUP_V2), 20,
--				 100 * USEC_PER_MSEC);
--	if (err)
--		return -ETIMEDOUT;
--
--	/* Set INTx mask */
--	val = readl(port->base + PCIE_INT_MASK);
--	val &= ~INTX_MASK;
--	writel(val, port->base + PCIE_INT_MASK);
--
--	/* Set AHB to PCIe translation windows */
--	size = mem->end - mem->start;
--	val = lower_32_bits(mem->start) | AHB2PCIE_SIZE(fls(size));
--	writel(val, port->base + PCIE_AHB_TRANS_BASE0_L);
--
--	val = upper_32_bits(mem->start);
--	writel(val, port->base + PCIE_AHB_TRANS_BASE0_H);
--
--	/* Set PCIe to AXI translation memory space.*/
--	val = fls(0xffffffff) | WIN_ENABLE;
--	writel(val, port->base + PCIE_AXI_WINDOW0);
--
--	return 0;
--}
--
- static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
- {
- 	struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data);
-@@ -601,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m
+@@ -532,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m
  	writel(val, port->base + PCIE_INT_MASK);
  }
  
@@ -161,7 +85,7 @@
  static int mtk_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
  			     irq_hw_number_t hwirq)
  {
-@@ -630,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru
+@@ -561,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru
  
  	port->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
  						 &intx_domain_ops, port);
@@ -169,16 +93,7 @@
  	if (!port->irq_domain) {
  		dev_err(dev, "failed to get INTx IRQ domain\n");
  		return -ENODEV;
-@@ -639,8 +593,6 @@ static int mtk_pcie_init_irq_domain(stru
- 		ret = mtk_pcie_allocate_msi_domains(port);
- 		if (ret)
- 			return ret;
--
--		mtk_pcie_enable_msi(port);
- 	}
- 
- 	return 0;
-@@ -693,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk
+@@ -622,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk
  	struct mtk_pcie *pcie = port->pcie;
  	struct device *dev = pcie->dev;
  	struct platform_device *pdev = to_platform_device(dev);
@@ -187,7 +102,7 @@
  
  	err = mtk_pcie_init_irq_domain(port, node);
  	if (err) {
-@@ -701,8 +653,81 @@ static int mtk_pcie_setup_irq(struct mtk
+@@ -630,8 +653,9 @@ static int mtk_pcie_setup_irq(struct mtk
  		return err;
  	}
  
@@ -196,82 +111,10 @@
 +	port->irq = platform_get_irq(pdev, port->slot);
 +	irq_set_chained_handler_and_data(port->irq,
 +					 mtk_pcie_intr_handler, port);
-+
-+	return 0;
-+}
-+
-+static int mtk_pcie_startup_port_v2(struct mtk_pcie_port *port)
-+{
-+	struct mtk_pcie *pcie = port->pcie;
-+	struct resource *mem = &pcie->mem;
-+	const struct mtk_pcie_soc *soc = port->pcie->soc;
-+	u32 val;
-+	size_t size;
-+	int err;
-+
-+	/* MT7622 platforms need to enable LTSSM and ASPM from PCIe subsys */
-+	if (pcie->base) {
-+		val = readl(pcie->base + PCIE_SYS_CFG_V2);
-+		val |= PCIE_CSR_LTSSM_EN(port->slot) |
-+		       PCIE_CSR_ASPM_L1_EN(port->slot);
-+		writel(val, pcie->base + PCIE_SYS_CFG_V2);
-+	}
-+
-+	/* Assert all reset signals */
-+	writel(0, port->base + PCIE_RST_CTRL);
-+
-+	/*
-+	 * Enable PCIe link down reset, if link status changed from link up to
-+	 * link down, this will reset MAC control registers and configuration
-+	 * space.
-+	 */
-+	writel(PCIE_LINKDOWN_RST_EN, port->base + PCIE_RST_CTRL);
-+
-+	/* De-assert PHY, PE, PIPE, MAC and configuration reset	*/
-+	val = readl(port->base + PCIE_RST_CTRL);
-+	val |= PCIE_PHY_RSTB | PCIE_PERSTB | PCIE_PIPE_SRSTB |
-+	       PCIE_MAC_SRSTB | PCIE_CRSTB;
-+	writel(val, port->base + PCIE_RST_CTRL);
-+
-+	/* Set up vendor ID and class code */
-+	if (soc->need_fix_class_id) {
-+		val = PCI_VENDOR_ID_MEDIATEK;
-+		writew(val, port->base + PCIE_CONF_VEND_ID);
-+
-+		val = PCI_CLASS_BRIDGE_PCI;
-+		writew(val, port->base + PCIE_CONF_CLASS_ID);
-+	}
-+
-+	/* 100ms timeout value should be enough for Gen1/2 training */
-+	err = readl_poll_timeout(port->base + PCIE_LINK_STATUS_V2, val,
-+				 !!(val & PCIE_PORT_LINKUP_V2), 20,
-+				 100 * USEC_PER_MSEC);
-+	if (err)
-+		return -ETIMEDOUT;
-+
-+	/* Set INTx mask */
-+	val = readl(port->base + PCIE_INT_MASK);
-+	val &= ~INTX_MASK;
-+	writel(val, port->base + PCIE_INT_MASK);
-+
-+	if (IS_ENABLED(CONFIG_PCI_MSI))
-+		mtk_pcie_enable_msi(port);
-+
-+	/* Set AHB to PCIe translation windows */
-+	size = mem->end - mem->start;
-+	val = lower_32_bits(mem->start) | AHB2PCIE_SIZE(fls(size));
-+	writel(val, port->base + PCIE_AHB_TRANS_BASE0_L);
-+
-+	val = upper_32_bits(mem->start);
-+	writel(val, port->base + PCIE_AHB_TRANS_BASE0_H);
-+
-+	/* Set PCIe to AXI translation memory space.*/
-+	val = fls(0xffffffff) | WIN_ENABLE;
-+	writel(val, port->base + PCIE_AXI_WINDOW0);
  
  	return 0;
  }
-@@ -903,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt
+@@ -904,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt
  
  	/* sys_ck might be divided into the following parts in some chips */
  	snprintf(name, sizeof(name), "ahb_ck%d", slot);
@@ -336,7 +179,7 @@
  
  	snprintf(name, sizeof(name), "pcie-rst%d", slot);
  	port->reset = devm_reset_control_get_optional_exclusive(dev, name);
-@@ -998,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc
+@@ -999,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc
  		pcie->free_ck = NULL;
  	}
  
@@ -349,7 +192,7 @@
  
  	/* enable top level clock */
  	err = clk_prepare_enable(pcie->free_ck);
-@@ -1013,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc
+@@ -1014,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc
  	return 0;
  
  err_free_ck:
@@ -362,19 +205,16 @@
  
  	return err;
  }
-@@ -1122,8 +1122,6 @@
+@@ -1122,36 +1122,6 @@ static int mtk_pcie_request_resources(st
  		return err;
  
  	err = devm_pci_remap_iospace(dev, &pcie->pio, pcie->io.start);
 -	if (err)
 -		return err;
- 
- 	return 0;
- }
-@@ -1127,34 +1128,6 @@ static int mtk_pcie_request_resources(st
- 	return 0;
- }
- 
+-
+-	return 0;
+-}
+-
 -static int mtk_pcie_register_host(struct pci_host_bridge *host)
 -{
 -	struct mtk_pcie *pcie = pci_host_bridge_priv(host);
@@ -399,14 +239,10 @@
 -		pcie_bus_configure_settings(child);
 -
 -	pci_bus_add_devices(host->bus);
--
--	return 0;
--}
--
- static int mtk_pcie_probe(struct platform_device *pdev)
- {
- 	struct device *dev = &pdev->dev;
-@@ -1181,7 +1154,14 @@ static int mtk_pcie_probe(struct platfor
+ 
+ 	return 0;
+ }
+@@ -1182,7 +1152,14 @@ static int mtk_pcie_probe(struct platfor
  	if (err)
  		goto put_resources;
  
@@ -422,7 +258,7 @@
  	if (err)
  		goto put_resources;
  
-@@ -1194,6 +1174,80 @@ put_resources:
+@@ -1195,6 +1172,80 @@ put_resources:
  	return err;
  }
  
@@ -503,7 +339,7 @@
  static const struct mtk_pcie_soc mtk_pcie_soc_v1 = {
  	.ops = &mtk_pcie_ops,
  	.startup = mtk_pcie_startup_port,
-@@ -1222,10 +1276,13 @@ static const struct of_device_id mtk_pci
+@@ -1223,10 +1274,13 @@ static const struct of_device_id mtk_pci
  
  static struct platform_driver mtk_pcie_driver = {
  	.probe = mtk_pcie_probe,
diff --git a/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch
index 6172e6fe450433760ec5c80621bd5b236089eb13..0cb9e996027433923b514a5e5ab64d5016d5adbc 100644
--- a/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch
+++ b/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch
@@ -180,7 +180,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
  static int kernel_init(void *);
  
  extern void init_IRQ(void);
-@@ -592,6 +596,18 @@ asmlinkage __visible void __init start_k
+@@ -591,6 +595,18 @@ asmlinkage __visible void __init start_k
  	page_alloc_init();
  
  	pr_notice("Kernel command line: %s\n", boot_command_line);