diff --git a/modules b/modules
index 7b12323d527bdffd2c0dce857b5b3ae2b0d495e4..dfa637c82c730848b51e2318ee4d1b56410df4ed 100644
--- a/modules
+++ b/modules
@@ -2,7 +2,7 @@ GLUON_FEEDS='openwrt gluon routing luci'
 
 LEDE_REPO=https://git.lede-project.org/openwrt/openwrt.git
 LEDE_BRANCH=lede-17.01
-LEDE_COMMIT=7f3dab2fc34e9b6c15d74ebf8e1d74ef601677e3
+LEDE_COMMIT=c3cdc53164f14fce729b4a5b32a63b6cc79aa5e0
 
 PACKAGES_OPENWRT_REPO=https://github.com/openwrt/packages.git
 PACKAGES_OPENWRT_BRANCH=lede-17.01
diff --git a/patches/lede/0001-build-move-STAGING_DIR_HOSTPKG-and-BUILD_DIR_HOST-back-to-a-common-directory-for-all-targets.patch b/patches/lede/0001-build-move-STAGING_DIR_HOSTPKG-and-BUILD_DIR_HOST-back-to-a-common-directory-for-all-targets.patch
index d0fbd831142a4ea7b03c9263481a0ea5257b8580..4afacf54a620b36fdb8e439d6ece0538da9d3132 100644
--- a/patches/lede/0001-build-move-STAGING_DIR_HOSTPKG-and-BUILD_DIR_HOST-back-to-a-common-directory-for-all-targets.patch
+++ b/patches/lede/0001-build-move-STAGING_DIR_HOSTPKG-and-BUILD_DIR_HOST-back-to-a-common-directory-for-all-targets.patch
@@ -47,7 +47,7 @@ index 5a403cbf41e2bbd6bdb843492639a01aff8cf75b..900dae1d4afc6007f8ac04179dd7f092
  
  define Build/Configure/Default
 diff --git a/include/host-build.mk b/include/host-build.mk
-index b5f1a6bfa79f5a2a7b442506d72b6192191018a2..cb0d60fd7c5930a3a71f00e70bf25340c98f5744 100644
+index 5fcec7ebf48361100d29c5925beaae4f36d5ac7b..485f09a6b71b881692b5ee575927397259bbac24 100644
 --- a/include/host-build.mk
 +++ b/include/host-build.mk
 @@ -126,7 +126,7 @@ ifneq ($(if $(HOST_QUILT),,$(CONFIG_AUTOREBUILD)),)
@@ -60,7 +60,7 @@ index b5f1a6bfa79f5a2a7b442506d72b6192191018a2..cb0d60fd7c5930a3a71f00e70bf25340
    $(1) : export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig:$$(HOST_BUILD_PREFIX)/lib/pkgconfig
    $(1) : export PKG_CONFIG_LIBDIR=$$(HOST_BUILD_PREFIX)/lib/pkgconfig
 diff --git a/include/package.mk b/include/package.mk
-index 32485176577b040f6e4a561c5d1144509877bcdf..ea801288eadb139cc0dd2412b4c927c6bd7330e0 100644
+index e9989ab13ec81a8751ee7245639ee0b82b9a87b2..7f77c4e99b1e9b79503963c497c4c87d7af9d71a 100644
 --- a/include/package.mk
 +++ b/include/package.mk
 @@ -130,7 +130,7 @@ ifdef USE_SOURCE_DIR
@@ -73,10 +73,10 @@ index 32485176577b040f6e4a561c5d1144509877bcdf..ea801288eadb139cc0dd2412b4c927c6
    $(1) : export PATH=$$(TARGET_PATH_PKG)
    $(1) : export CONFIG_SITE:=$$(CONFIG_SITE)
 diff --git a/rules.mk b/rules.mk
-index 04fd936660bef4af49de5500cd2d7c3601c1b9f6..95b18f9e5c69de479db54c5bdb740103140dcf74 100644
+index 5710a84fe7ad24e45acb2ef62ee29eab37e8de06..b678e9bea5bc146a3c515d93003415cd21882068 100644
 --- a/rules.mk
 +++ b/rules.mk
-@@ -145,9 +145,9 @@ STAGING_DIR_ROOT:=$(STAGING_DIR)/root-$(BOARD)
+@@ -147,9 +147,9 @@ STAGING_DIR_ROOT:=$(STAGING_DIR)/root-$(BOARD)
  BUILD_LOG_DIR:=$(TOPDIR)/logs
  PKG_INFO_DIR := $(STAGING_DIR)/pkginfo
  
@@ -88,7 +88,7 @@ index 04fd936660bef4af49de5500cd2d7c3601c1b9f6..95b18f9e5c69de479db54c5bdb740103
  
  TARGET_PATH:=$(subst $(space),:,$(filter-out .,$(filter-out ./,$(subst :,$(space),$(PATH)))))
  TARGET_INIT_PATH:=$(call qstrip,$(CONFIG_TARGET_INIT_PATH))
-@@ -206,7 +206,7 @@ ifndef DUMP
+@@ -208,7 +208,7 @@ ifndef DUMP
      endif
    endif
  endif
@@ -97,7 +97,7 @@ index 04fd936660bef4af49de5500cd2d7c3601c1b9f6..95b18f9e5c69de479db54c5bdb740103
  
  ifeq ($(CONFIG_SOFT_FLOAT),y)
    SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft
-@@ -232,9 +232,9 @@ export PKG_CONFIG
+@@ -234,9 +234,9 @@ export PKG_CONFIG
  
  HOSTCC:=gcc
  HOSTCXX:=g++
diff --git a/patches/lede/0006-dropbear-add-a-failsafe-mode-that-will-always-allow-password-less-root-login.patch b/patches/lede/0006-dropbear-add-a-failsafe-mode-that-will-always-allow-password-less-root-login.patch
index d0a36b271743d2ffb541d91537adab1ea4ac3fdb..a6e9213bf24e5bd330ab5f152fc72c9b9b6771a7 100644
--- a/patches/lede/0006-dropbear-add-a-failsafe-mode-that-will-always-allow-password-less-root-login.patch
+++ b/patches/lede/0006-dropbear-add-a-failsafe-mode-that-will-always-allow-password-less-root-login.patch
@@ -6,15 +6,15 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/package/network/services/dropbear/patches/700-failsafe-mode.patch b/package/network/services/dropbear/patches/700-failsafe-mode.patch
 new file mode 100644
-index 0000000000000000000000000000000000000000..c6e45423e2dba1258549a5bfe4b5a59ac32d73d8
+index 0000000000000000000000000000000000000000..d379da0d0a7890e0a25d87e227c2e065cd2750ee
 --- /dev/null
 +++ b/package/network/services/dropbear/patches/700-failsafe-mode.patch
 @@ -0,0 +1,57 @@
 +--- a/runopts.h
 ++++ b/runopts.h
-+@@ -97,6 +97,8 @@ typedef struct svr_runopts {
-+ 	int norootpass;
++@@ -98,6 +98,8 @@ typedef struct svr_runopts {
 + 	int allowblankpass;
++ 	unsigned int maxauthtries;
 + 
 ++	int failsafe_mode;
 ++
@@ -37,7 +37,7 @@ index 0000000000000000000000000000000000000000..c6e45423e2dba1258549a5bfe4b5a59a
 ++					&& !(svr_opts.norootpass && ses.authstate.pw_uid == 0)
 ++					&& ses.authstate.pw_passwd[0] == '\0')))
 + 		{
-+			dropbear_log(LOG_NOTICE, 
++ 			dropbear_log(LOG_NOTICE, 
 + 					"Auth succeeded with blank password for '%s' from %s",
 +--- a/svr-runopts.c
 ++++ b/svr-runopts.c
@@ -47,17 +47,17 @@ index 0000000000000000000000000000000000000000..c6e45423e2dba1258549a5bfe4b5a59a
 + 					"-B		Allow blank password logins\n"
 ++					"-f		Failsafe mode: always allow password-less root login\n"
 + #endif
++ 					"-T <1 to %d> 	Maximum authentication tries (default %d)\n"
 + #ifdef ENABLE_SVR_LOCALTCPFWD
-+ 					"-j		Disable local port forwarding\n"
-+@@ -130,6 +131,7 @@ void svr_getopts(int argc, char ** argv)
++@@ -133,6 +134,7 @@ void svr_getopts(int argc, char ** argv)
 + 	svr_opts.noauthpass = 0;
 + 	svr_opts.norootpass = 0;
 + 	svr_opts.allowblankpass = 0;
 ++	svr_opts.failsafe_mode = 0;
++ 	svr_opts.maxauthtries = DEFAULT_AUTH_TRIES;
 + 	svr_opts.inetdmode = 0;
 + 	svr_opts.portcount = 0;
-+ 	svr_opts.hostkey = NULL;
-+@@ -244,6 +246,9 @@ void svr_getopts(int argc, char ** argv)
++@@ -251,6 +253,9 @@ void svr_getopts(int argc, char ** argv)
 + 				case 'B':
 + 					svr_opts.allowblankpass = 1;
 + 					break;
diff --git a/patches/lede/0007-rules.mk-export-STAGING_DIR_HOSTPKG.patch b/patches/lede/0007-rules.mk-export-STAGING_DIR_HOSTPKG.patch
index 6656c47fdb5a25f9ffc605b0a9e24e85aef9ab3c..b6bedd95a56f2f039b517788a508b4bdffa0bf4d 100644
--- a/patches/lede/0007-rules.mk-export-STAGING_DIR_HOSTPKG.patch
+++ b/patches/lede/0007-rules.mk-export-STAGING_DIR_HOSTPKG.patch
@@ -5,10 +5,10 @@ Subject: rules.mk: export STAGING_DIR_HOSTPKG
 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/rules.mk b/rules.mk
-index 95b18f9e5c69de479db54c5bdb740103140dcf74..1b9de5f35e3890c2759ab2cdbd98ac80df942124 100644
+index b678e9bea5bc146a3c515d93003415cd21882068..16cab67d5d1b8b130a0ffddc81789e798cda338e 100644
 --- a/rules.mk
 +++ b/rules.mk
-@@ -223,7 +223,7 @@ else
+@@ -225,7 +225,7 @@ else
  endif
  
  export PATH:=$(TARGET_PATH)
diff --git a/patches/lede/0011-netifd-ubus-add-interface-method-to-trigger-renew-event.patch b/patches/lede/0010-netifd-ubus-add-interface-method-to-trigger-renew-event.patch
similarity index 100%
rename from patches/lede/0011-netifd-ubus-add-interface-method-to-trigger-renew-event.patch
rename to patches/lede/0010-netifd-ubus-add-interface-method-to-trigger-renew-event.patch
diff --git a/patches/lede/0010-rules.mk-make-PKG_CONFIG_DEPENDS-properly-track-string-values.patch b/patches/lede/0010-rules.mk-make-PKG_CONFIG_DEPENDS-properly-track-string-values.patch
deleted file mode 100644
index f045f27dc312d4c20c731a28b74cc92e78754f90..0000000000000000000000000000000000000000
--- a/patches/lede/0010-rules.mk-make-PKG_CONFIG_DEPENDS-properly-track-string-values.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Fri, 24 Feb 2017 12:16:33 +0100
-Subject: rules.mk: make PKG_CONFIG_DEPENDS properly track string values
-
-The confvar macro is adjusted to not only consider if a variable has a
-value or not, but also the value itself. Instead of creating a string of
-'y' and 'n' characters, all variable names and values are concatenated
-and hashed.
-
-Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-
-diff --git a/rules.mk b/rules.mk
-index 1b9de5f35e3890c2759ab2cdbd98ac80df942124..626bfca1ba73b96ee0f86a2de4afe643d83b360c 100644
---- a/rules.mk
-+++ b/rules.mk
-@@ -29,7 +29,7 @@ empty:=
- space:= $(empty) $(empty)
- comma:=,
- merge=$(subst $(space),,$(1))
--confvar=$(call merge,$(foreach v,$(1),$(if $($(v)),y,n)))
-+confvar=$(shell echo '$(foreach v,$(1),$(v)=$(subst ','\'',$($(v))))' | $(STAGING_DIR_HOST)/bin/mkhash md5)
- strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1))
- 
- paren_left = (
diff --git a/patches/lede/0011-procd-switch-to-latest-master.patch b/patches/lede/0011-procd-switch-to-latest-master.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f160959088a9999ea8716c8d9b6656545cbc341b
--- /dev/null
+++ b/patches/lede/0011-procd-switch-to-latest-master.patch
@@ -0,0 +1,21 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Thu, 13 Jul 2017 17:15:21 +0200
+Subject: procd: switch to latest master
+
+diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile
+index c260a371ac951a5efa125c2ce5bbfcf8d5d2779b..6c690e49f4a0312a8a6eed13ab36b8a67a485556 100644
+--- a/package/system/procd/Makefile
++++ b/package/system/procd/Makefile
+@@ -12,9 +12,9 @@ PKG_RELEASE:=1
+ 
+ PKG_SOURCE_PROTO:=git
+ PKG_SOURCE_URL=$(LEDE_GIT)/project/procd.git
+-PKG_SOURCE_DATE:=2018-01-04
+-PKG_SOURCE_VERSION:=188353099cf6fc88f145cfcb84a4db3f6523528a
+-PKG_MIRROR_HASH:=52605b2a3caf59cdbf88ba218c6288cbe075749422efd69e985ae75bb1001488
++PKG_SOURCE_DATE:=2018-12-02
++PKG_SOURCE_VERSION:=a5954cf302fe46d8e29770c818336763112b9a6e
++PKG_MIRROR_HASH:=1afa1f0160dd8ffac310e75519601c1f9a6107d818f405bb3fe9ef3e7143c2e3
+ CMAKE_INSTALL:=1
+ 
+ PKG_LICENSE:=GPL-2.0
diff --git a/patches/lede/0013-procd-clean-up-trailing-whitespace-in-nand.sh.patch b/patches/lede/0012-procd-clean-up-trailing-whitespace-in-nand.sh.patch
similarity index 100%
rename from patches/lede/0013-procd-clean-up-trailing-whitespace-in-nand.sh.patch
rename to patches/lede/0012-procd-clean-up-trailing-whitespace-in-nand.sh.patch
diff --git a/patches/lede/0012-procd-switch-to-latest-master.patch b/patches/lede/0012-procd-switch-to-latest-master.patch
deleted file mode 100644
index 46ef4f173ce6ab9fe82b616f3447993de6efc7c7..0000000000000000000000000000000000000000
--- a/patches/lede/0012-procd-switch-to-latest-master.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Thu, 13 Jul 2017 17:15:21 +0200
-Subject: procd: switch to latest master
-
-diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile
-index 864d3f62a9c3e0f9ab1b72b1ede8205a2edd83d4..ea014b5b3461e1ed55fb272592a1c2be6535c2c8 100644
---- a/package/system/procd/Makefile
-+++ b/package/system/procd/Makefile
-@@ -12,9 +12,9 @@ PKG_RELEASE:=1
- 
- PKG_SOURCE_PROTO:=git
- PKG_SOURCE_URL=$(LEDE_GIT)/project/procd.git
--PKG_SOURCE_DATE:=2017-11-14
--PKG_SOURCE_VERSION:=d9dc0e03d70937dbbea12af86997701fbd717dc5
--PKG_MIRROR_HASH:=ad62410e6e43113c13aebf15f60c145f1eac09f309b8e7bd006a3621ca8f07a5
-+PKG_SOURCE_DATE:=2017-10-10
-+PKG_SOURCE_VERSION:=7c9aa7c39362bca872905e906ac82dfc667a4112
-+PKG_MIRROR_HASH:=85ee6d61e3e429f033e7d192a1f3ae749cf863e46650ab4a093cf578074054de
- CMAKE_INSTALL:=1
- 
- PKG_LICENSE:=GPL-2.0
diff --git a/patches/lede/0014-procd-prepare-NAND-sysupgrade-for-making-upgraded-dynamically-linked.patch b/patches/lede/0013-procd-prepare-NAND-sysupgrade-for-making-upgraded-dynamically-linked.patch
similarity index 100%
rename from patches/lede/0014-procd-prepare-NAND-sysupgrade-for-making-upgraded-dynamically-linked.patch
rename to patches/lede/0013-procd-prepare-NAND-sysupgrade-for-making-upgraded-dynamically-linked.patch
diff --git a/patches/lede/0015-procd-remove-procd-nand-package.patch b/patches/lede/0014-procd-remove-procd-nand-package.patch
similarity index 98%
rename from patches/lede/0015-procd-remove-procd-nand-package.patch
rename to patches/lede/0014-procd-remove-procd-nand-package.patch
index 7058139780a5b707dfc76bb611cbcd43ec05652b..908bc610d65d2b0b1ca7ead1e007bcc07de33fb5 100644
--- a/patches/lede/0015-procd-remove-procd-nand-package.patch
+++ b/patches/lede/0014-procd-remove-procd-nand-package.patch
@@ -12,7 +12,7 @@ as a separate package.
 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/package/base-files/Makefile b/package/base-files/Makefile
-index fdeda95a17cd463f0348bf0606ad40dde717d21f..54f752c802ae2125bf65415807e5b55b45d16190 100644
+index 3fcf20a84433eb1a41e970cd010cc414bb180fad..0813f2ae76e2a6b83b5d077b61010d13c1a50fee 100644
 --- a/package/base-files/Makefile
 +++ b/package/base-files/Makefile
 @@ -19,7 +19,9 @@ PKG_BUILD_DEPENDS:=usign/host
@@ -35,7 +35,7 @@ index fdeda95a17cd463f0348bf0606ad40dde717d21f..54f752c802ae2125bf65415807e5b55b
    TITLE:=Base filesystem for Lede
    URL:=http://openwrt.org/
    VERSION:=$(PKG_RELEASE)-$(REVISION)
-@@ -106,9 +108,16 @@ ifdef CONFIG_SIGNED_PACKAGES
+@@ -107,9 +109,16 @@ ifdef CONFIG_SIGNED_PACKAGES
    endef
  endif
  
@@ -435,7 +435,7 @@ index 0000000000000000000000000000000000000000..6bd2005344c081df20e5a330a69e49e3
 +	nand_upgrade_stage1
 +}
 diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile
-index ea014b5b3461e1ed55fb272592a1c2be6535c2c8..64a78cc24ee9caf58ea140d161cad2b5742c2ebd 100644
+index 6c690e49f4a0312a8a6eed13ab36b8a67a485556..cf923618abbbbba475cb3599bfe66ef30b60cd48 100644
 --- a/package/system/procd/Makefile
 +++ b/package/system/procd/Makefile
 @@ -22,11 +22,9 @@ PKG_LICENSE_FILES:=
@@ -492,7 +492,7 @@ index ea014b5b3461e1ed55fb272592a1c2be6535c2c8..64a78cc24ee9caf58ea140d161cad2b5
  ifeq ($(CONFIG_PROCD_SHOW_BOOT),y)
    CMAKE_OPTIONS += -DSHOW_BOOT_ON_CONSOLE=1
  endif
-@@ -114,7 +94,7 @@ endif
+@@ -113,7 +93,7 @@ CMAKE_OPTIONS += -DSECCOMP_SUPPORT=$(SECCOMP) -DUTRACE_SUPPORT=$(SECCOMP)
  define Package/procd/install
  	$(INSTALL_DIR) $(1)/sbin $(1)/etc $(1)/lib/functions
  
diff --git a/patches/lede/0016-base-files-always-use-staged-sysupgrade.patch b/patches/lede/0015-base-files-always-use-staged-sysupgrade.patch
similarity index 98%
rename from patches/lede/0016-base-files-always-use-staged-sysupgrade.patch
rename to patches/lede/0015-base-files-always-use-staged-sysupgrade.patch
index 7a67c8dd7b1e3fc590a1b5e05384ac7ec2f528d4..64bccb3fd1114ed5c097772c8af57b94b8ac5d6b 100644
--- a/patches/lede/0016-base-files-always-use-staged-sysupgrade.patch
+++ b/patches/lede/0015-base-files-always-use-staged-sysupgrade.patch
@@ -12,7 +12,7 @@ are killed to allow unmounting the root filesystem.
 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
-index e3519ca2cb496ff0835a9ef87da7faf217a07964..17248c2b1decd6f92558fb89601238b55fd0f0d6 100644
+index 3ddd1e74657e0f9893533f917cb56ed0c2e3196c..6f8e408401906666db945a981100962139fc7d32 100644
 --- a/package/base-files/files/lib/upgrade/common.sh
 +++ b/package/base-files/files/lib/upgrade/common.sh
 @@ -56,7 +56,6 @@ run_ramfs() { # <command> [...]
@@ -147,7 +147,7 @@ index e3519ca2cb496ff0835a9ef87da7faf217a07964..17248c2b1decd6f92558fb89601238b5
  }
  
  get_magic_word() {
-@@ -320,12 +308,14 @@ default_do_upgrade() {
+@@ -328,12 +316,14 @@ default_do_upgrade() {
  	fi
  }
  
@@ -166,7 +166,7 @@ index e3519ca2cb496ff0835a9ef87da7faf217a07964..17248c2b1decd6f92558fb89601238b5
  	fi
  
  	if [ "$SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' >/dev/null 2>/dev/null; then
-@@ -333,12 +323,11 @@ do_upgrade() {
+@@ -341,12 +331,11 @@ do_upgrade() {
  	fi
  
  	v "Upgrade completed"
diff --git a/patches/lede/0017-fstools-clean-up-trailing-whitespace-in-snapshot-script.patch b/patches/lede/0016-fstools-clean-up-trailing-whitespace-in-snapshot-script.patch
similarity index 100%
rename from patches/lede/0017-fstools-clean-up-trailing-whitespace-in-snapshot-script.patch
rename to patches/lede/0016-fstools-clean-up-trailing-whitespace-in-snapshot-script.patch
diff --git a/patches/lede/0018-fstools-snapshot-handle-jffs2-conversion-using-upgraded.patch b/patches/lede/0017-fstools-snapshot-handle-jffs2-conversion-using-upgraded.patch
similarity index 93%
rename from patches/lede/0018-fstools-snapshot-handle-jffs2-conversion-using-upgraded.patch
rename to patches/lede/0017-fstools-snapshot-handle-jffs2-conversion-using-upgraded.patch
index 235336c6673abdf547ed44a93d5c6edd7596157f..3b571b83dee6af288f761f84cee46516f866199e 100644
--- a/patches/lede/0018-fstools-snapshot-handle-jffs2-conversion-using-upgraded.patch
+++ b/patches/lede/0017-fstools-snapshot-handle-jffs2-conversion-using-upgraded.patch
@@ -8,7 +8,7 @@ by upgraded.
 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/package/system/fstools/Makefile b/package/system/fstools/Makefile
-index 43febd4727b94bca1311987558b0363eb5319180..b73e8ad67da478d2b9b5fa7038d240372c618f97 100644
+index 16f2f7e77062b528a4e3b9d0b5b4f4072e3b5756..f0f6c3d7eec3e90ab1403ae766c95d03104a0d29 100644
 --- a/package/system/fstools/Makefile
 +++ b/package/system/fstools/Makefile
 @@ -8,7 +8,7 @@
diff --git a/patches/lede/0019-base-files-sysupgrade-cleanup.patch b/patches/lede/0018-base-files-sysupgrade-cleanup.patch
similarity index 98%
rename from patches/lede/0019-base-files-sysupgrade-cleanup.patch
rename to patches/lede/0018-base-files-sysupgrade-cleanup.patch
index 31afb9aeedba52ae41cc1bbabe20200acdca9a1f..368374695c38b2d6a0ba510554e358b25e5a4dcc 100644
--- a/patches/lede/0019-base-files-sysupgrade-cleanup.patch
+++ b/patches/lede/0018-base-files-sysupgrade-cleanup.patch
@@ -13,7 +13,7 @@ fixed eventually to use platform_do_upgrade for that purpose.
 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
-index 17248c2b1decd6f92558fb89601238b55fd0f0d6..fc59bf2323498d332159b00eb7ab443bfe6b147e 100644
+index 6f8e408401906666db945a981100962139fc7d32..b18463f6b8e81d871b27146c00d061941ac6a2ec 100644
 --- a/package/base-files/files/lib/upgrade/common.sh
 +++ b/package/base-files/files/lib/upgrade/common.sh
 @@ -30,106 +30,6 @@ install_bin() { # <file> [ <symlink> ... ]
diff --git a/patches/lede/0020-base-files-add-support-for-staged-sysupgrades-from-failsafe-mode.patch b/patches/lede/0019-base-files-add-support-for-staged-sysupgrades-from-failsafe-mode.patch
similarity index 100%
rename from patches/lede/0020-base-files-add-support-for-staged-sysupgrades-from-failsafe-mode.patch
rename to patches/lede/0019-base-files-add-support-for-staged-sysupgrades-from-failsafe-mode.patch
diff --git a/patches/lede/0021-ramips-sysupgrade-move-nand_do_upgrade-call-to-platform_do_upgrade.patch b/patches/lede/0020-ramips-sysupgrade-move-nand_do_upgrade-call-to-platform_do_upgrade.patch
similarity index 100%
rename from patches/lede/0021-ramips-sysupgrade-move-nand_do_upgrade-call-to-platform_do_upgrade.patch
rename to patches/lede/0020-ramips-sysupgrade-move-nand_do_upgrade-call-to-platform_do_upgrade.patch
diff --git a/patches/lede/0022-x86-sysupgrade-move-partition-table-change-check-to-platform_check_image.patch b/patches/lede/0021-x86-sysupgrade-move-partition-table-change-check-to-platform_check_image.patch
similarity index 100%
rename from patches/lede/0022-x86-sysupgrade-move-partition-table-change-check-to-platform_check_image.patch
rename to patches/lede/0021-x86-sysupgrade-move-partition-table-change-check-to-platform_check_image.patch
diff --git a/patches/lede/0023-x86-sysupgrade-refactor-platform_do_upgrade.patch b/patches/lede/0022-x86-sysupgrade-refactor-platform_do_upgrade.patch
similarity index 100%
rename from patches/lede/0023-x86-sysupgrade-refactor-platform_do_upgrade.patch
rename to patches/lede/0022-x86-sysupgrade-refactor-platform_do_upgrade.patch
diff --git a/patches/lede/0024-x86-sysupgrade-explicitly-rescan-disk-after-writing-partition-table.patch b/patches/lede/0023-x86-sysupgrade-explicitly-rescan-disk-after-writing-partition-table.patch
similarity index 100%
rename from patches/lede/0024-x86-sysupgrade-explicitly-rescan-disk-after-writing-partition-table.patch
rename to patches/lede/0023-x86-sysupgrade-explicitly-rescan-disk-after-writing-partition-table.patch
diff --git a/patches/lede/0025-sunxi-sysupgrade-don-t-write-partitions-twice.patch b/patches/lede/0024-sunxi-sysupgrade-don-t-write-partitions-twice.patch
similarity index 100%
rename from patches/lede/0025-sunxi-sysupgrade-don-t-write-partitions-twice.patch
rename to patches/lede/0024-sunxi-sysupgrade-don-t-write-partitions-twice.patch
diff --git a/patches/lede/0026-sunxi-sysupgrade-sync-with-x86.patch b/patches/lede/0025-sunxi-sysupgrade-sync-with-x86.patch
similarity index 100%
rename from patches/lede/0026-sunxi-sysupgrade-sync-with-x86.patch
rename to patches/lede/0025-sunxi-sysupgrade-sync-with-x86.patch
diff --git a/patches/lede/0027-mvebu-fix-sysupgrade.patch b/patches/lede/0026-mvebu-fix-sysupgrade.patch
similarity index 100%
rename from patches/lede/0027-mvebu-fix-sysupgrade.patch
rename to patches/lede/0026-mvebu-fix-sysupgrade.patch
diff --git a/patches/lede/0028-generic-mtd-backport-unlock-support-and-asserted-fixes-for-certain-Winbond-Spansion-flash-chips.patch b/patches/lede/0027-generic-mtd-backport-unlock-support-and-asserted-fixes-for-certain-Winbond-Spansion-flash-chips.patch
similarity index 100%
rename from patches/lede/0028-generic-mtd-backport-unlock-support-and-asserted-fixes-for-certain-Winbond-Spansion-flash-chips.patch
rename to patches/lede/0027-generic-mtd-backport-unlock-support-and-asserted-fixes-for-certain-Winbond-Spansion-flash-chips.patch
diff --git a/patches/lede/0029-generic-vxlan-backport-support-for-VXLAN-over-link-local-IPv6.patch b/patches/lede/0028-generic-vxlan-backport-support-for-VXLAN-over-link-local-IPv6.patch
similarity index 100%
rename from patches/lede/0029-generic-vxlan-backport-support-for-VXLAN-over-link-local-IPv6.patch
rename to patches/lede/0028-generic-vxlan-backport-support-for-VXLAN-over-link-local-IPv6.patch
diff --git a/patches/lede/0030-vxlan-add-new-package-for-netifd-VXLAN-proto.patch b/patches/lede/0029-vxlan-add-new-package-for-netifd-VXLAN-proto.patch
similarity index 100%
rename from patches/lede/0030-vxlan-add-new-package-for-netifd-VXLAN-proto.patch
rename to patches/lede/0029-vxlan-add-new-package-for-netifd-VXLAN-proto.patch
diff --git a/patches/lede/0031-busybox-compile-with-debug-information.patch b/patches/lede/0030-busybox-compile-with-debug-information.patch
similarity index 89%
rename from patches/lede/0031-busybox-compile-with-debug-information.patch
rename to patches/lede/0030-busybox-compile-with-debug-information.patch
index 4948c81c01ca7c432baf1c1eabc2bd48a9405ef0..02a5596bbd76f7716596e80ce75c90acb4ad5ca3 100644
--- a/patches/lede/0031-busybox-compile-with-debug-information.patch
+++ b/patches/lede/0030-busybox-compile-with-debug-information.patch
@@ -8,7 +8,7 @@ code, preventing the weird ash segfaults we've been seeing. Also, if the
 issue returns, we'll have debug information matching the coredumps.
 
 diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
-index 40bddd6b58195828951d1e48c12848f4fbfc1430..bba1a40568d4bd0543e4768439a249c89779f29a 100644
+index 0d370863653e280165c8083061799af97d031169..5d73e817b3c67225bd3fb4e5b7d86e290db7397b 100644
 --- a/package/utils/busybox/Makefile
 +++ b/package/utils/busybox/Makefile
 @@ -91,6 +91,8 @@ ifdef CONFIG_BUSYBOX_DEFAULT_NSLOOKUP_LEDE
diff --git a/patches/lede/0031-Revert-scripts-package-metadata.pl-inhibit-compile-deps-on-missing-build-types.patch b/patches/lede/0031-Revert-scripts-package-metadata.pl-inhibit-compile-deps-on-missing-build-types.patch
new file mode 100644
index 0000000000000000000000000000000000000000..655765af543ad46c93a4c92d1a52a04ca95f0e04
--- /dev/null
+++ b/patches/lede/0031-Revert-scripts-package-metadata.pl-inhibit-compile-deps-on-missing-build-types.patch
@@ -0,0 +1,88 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Tue, 9 Jan 2018 16:31:07 +0100
+Subject: Revert "scripts/package-metadata.pl: inhibit compile deps on missing build types"
+
+This reverts commit b616aa6db7a9952c182ab49d7942fb67c09803d5. The change
+conflicts with our PROVIDES fix and is not strictly necessary for Gluon.
+
+diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl
+index c49d132912828531c7125787f4f53d7130323123..2da32c770ef3333bfcc18922ede556f9734510c7 100755
+--- a/scripts/package-metadata.pl
++++ b/scripts/package-metadata.pl
+@@ -460,27 +460,20 @@ sub gen_package_mk() {
+ 			next unless $pkg->{"builddepends/$type"};
+ 			foreach my $dep (@{$pkg->{"builddepends/$type"}}) {
+ 				my $suffix = "";
+-				my $deptype = "";
+ 				my $condition;
+ 
+ 				if ($dep =~ /^(.+):(.+)/) {
+ 					$condition = $1;
+ 					$dep = $2;
+ 				}
+-				if ($dep =~ /^(.+)\/(.+)/) {
++				if ($dep =~ /^(.+)(\/.+)/) {
+ 					$dep = $1;
+-					$deptype = $2;
+-					$suffix = "/$2";
++					$suffix = $2;
+ 				}
+ 
+ 				my $idx = "";
+ 				my $pkg_dep = $package{$dep};
+ 				if (defined($pkg_dep) && defined($pkg_dep->{src})) {
+-					unless (!$deptype || grep { $_ eq $deptype } @{$pkg_dep->{buildtypes}}) {
+-						warn sprintf "WARNING: Makefile '%s' has a %s build dependency on '%s/%s' but '%s' does not implement a '%s' build type\n",
+-							$pkg->{makefile}, $type, $pkg_dep->{src}, $deptype, $pkg_dep->{makefile}, $deptype;
+-						next;
+-					}
+ 					$idx = $pkg_dep->{subdir}.$pkg_dep->{src};
+ 				} elsif (defined($srcpackage{$dep})) {
+ 					$idx = $subdir{$dep}.$dep;
+@@ -506,16 +499,14 @@ sub gen_package_mk() {
+ 			my $condition;
+ 			my $prefix = "";
+ 			my $suffix = "";
+-			my $deptype = "";
+ 
+ 			if ($deps =~ /^(.+):(.+)/) {
+ 				$condition = $1;
+ 				$deps = $2;
+ 			}
+-			if ($deps =~ /^(.+)\/(.+)/) {
++			if ($deps =~ /^(.+)(\/.+)/) {
+ 				$deps = $1;
+-				$deptype = $2;
+-				$suffix = "/$2";
++				$suffix = $2;
+ 			}
+ 
+ 			my $pkg_dep = $package{$deps};
+@@ -530,17 +521,7 @@ sub gen_package_mk() {
+ 			foreach my $dep (@deps) {
+ 				$pkg_dep = $package{$deps};
+ 				if (defined $pkg_dep->{src}) {
+-					unless (!$deptype || grep { $_ eq $deptype } @{$pkg_dep->{buildtypes}}) {
+-						warn sprintf "WARNING: Makefile '%s' has a build dependency on '%s/%s' but '%s' does not implement a '%s' build type\n",
+-							$pkg->{makefile}, $pkg_dep->{src}, $deptype, $pkg_dep->{makefile}, $deptype;
+-						next;
+-					}
+-					unless ($pkg->{src} ne $pkg_dep->{sec}.$suffix) {
+-						warn sprintf "WARNING: Makefile '%s' has a build dependency on itself\n",
+-							$pkg->{makefile};
+-						next;
+-					}
+-					$idx = $pkg_dep->{subdir}.$pkg_dep->{src};
++					($pkg->{src} ne $pkg_dep->{src}.$suffix) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src};
+ 				} elsif (defined($srcpackage{$dep})) {
+ 					$idx = $subdir{$dep}.$dep;
+ 				}
+@@ -592,7 +573,7 @@ ifndef DUMP_TARGET_DB
+ 	( \\
+ $cmds \\
+ 	) > \$@
+-
++	
+ ifneq (\$(IMAGEOPT)\$(CONFIG_IMAGEOPT),)
+   package/preconfig: \$(TARGET_DIR)/etc/uci-defaults/$preconfig
+ endif
diff --git a/patches/lede/0033-base-files-upgrade-correctly-handle-nand_do_upgrade-argument-passed-from-preupgrade.patch b/patches/lede/0033-base-files-upgrade-correctly-handle-nand_do_upgrade-argument-passed-from-preupgrade.patch
index 35b128790e459a518c964db0749dcdfab0622616..69f8d544942a9010a846998b918b9597ee57aefa 100644
--- a/patches/lede/0033-base-files-upgrade-correctly-handle-nand_do_upgrade-argument-passed-from-preupgrade.patch
+++ b/patches/lede/0033-base-files-upgrade-correctly-handle-nand_do_upgrade-argument-passed-from-preupgrade.patch
@@ -6,10 +6,10 @@ Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
-index fc59bf2323498d332159b00eb7ab443bfe6b147e..c8b71015c2e44210696a4e28a5b7babbd0233184 100644
+index b18463f6b8e81d871b27146c00d061941ac6a2ec..f0443f8c495dc0c14a52e8b88b20a22c7620291b 100644
 --- a/package/base-files/files/lib/upgrade/common.sh
 +++ b/package/base-files/files/lib/upgrade/common.sh
-@@ -211,7 +211,7 @@ default_do_upgrade() {
+@@ -219,7 +219,7 @@ default_do_upgrade() {
  do_upgrade_stage2() {
  	v "Performing system upgrade..."
  	if [ -n "$do_upgrade" ]; then
diff --git a/patches/lede/0035-bcm53xx-upgrade-fix-RAMFS_COPY_.patch b/patches/lede/0035-bcm53xx-upgrade-fix-RAMFS_COPY_.patch
index bd21e79ee3cea2403eec098679cdc4ba739df6e8..c9052f7312c2d9509ad32a2406633c9200bb4ccd 100644
--- a/patches/lede/0035-bcm53xx-upgrade-fix-RAMFS_COPY_.patch
+++ b/patches/lede/0035-bcm53xx-upgrade-fix-RAMFS_COPY_.patch
@@ -19,7 +19,7 @@ index 097ad63adfecdd70019acaa5b652d2056e774c3f..8cc8c8b34e9f349f1d1283ac00f9782b
  	install_bin /sbin/mtd
  	install_bin /sbin/mount_root
 diff --git a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
-index eb6dc823e3890497389716c32ec7e4caf8d30c45..a90a58299dc293afbe15a0b491ef6898402deca4 100644
+index f2e007db22fa8fde93bf0dd58b359f6515e0445c..6a9e4950450cb896db7ebb3eb901b5cf51030295 100644
 --- a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
 @@ -1,3 +1,5 @@
diff --git a/patches/lede/0039-ar71xx-add-support-for-TP-Link-Archer-C25-v1.patch b/patches/lede/0039-ar71xx-add-support-for-TP-Link-Archer-C25-v1.patch
index 52d6f76e5860a20d179c3425b1c9d1342b9dfe84..fd81f0c3a2bdb2fcf5554fb5d6c02586c7210e92 100644
--- a/patches/lede/0039-ar71xx-add-support-for-TP-Link-Archer-C25-v1.patch
+++ b/patches/lede/0039-ar71xx-add-support-for-TP-Link-Archer-C25-v1.patch
@@ -40,7 +40,7 @@ index 833522f27b61ac2208c2862bc0f29f34dea5e701..e1efb561b33da4dcfcb82ee953cd8881
  	ucidef_set_led_wlan "wlan" "WLAN" "arduino:blue:wlan" "phy0tpt"
  	ucidef_set_led_usbdev "usb" "USB" "arduino:white:usb" "1-1.1"
 diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
-index cb707f6169f48a9390b622cb26e8fab8de94e4bb..24ead87850f13346ea4be4f9bfb5582e64a2c4ad 100755
+index 6d8a5c3d0a86a627663dee6e2905e03d5dec99fb..cefb7413eac6ffc50e67f1eaf63def749314428b 100755
 --- a/target/linux/ar71xx/base-files/etc/board.d/02_network
 +++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
 @@ -122,6 +122,7 @@ ar71xx_setup_interfaces()
diff --git a/patches/lede/0045-ar71xx-add-support-for-TP-Link-TL-WR1043N-v5.patch b/patches/lede/0045-ar71xx-add-support-for-TP-Link-TL-WR1043N-v5.patch
index 36d75985438473d5761e57ca251d54743f8e5253..c6e345952df1011eec2c9f29ab1fb73f73b2c40f 100644
--- a/patches/lede/0045-ar71xx-add-support-for-TP-Link-TL-WR1043N-v5.patch
+++ b/patches/lede/0045-ar71xx-add-support-for-TP-Link-TL-WR1043N-v5.patch
@@ -48,10 +48,10 @@ index e1efb561b33da4dcfcb82ee953cd888170476dfb..e67b5e38561e841b88e486341950c52e
  tl-wr2543n)
  	ucidef_set_led_usbdev "usb" "USB" "tp-link:green:usb" "1-1"
 diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
-index 24ead87850f13346ea4be4f9bfb5582e64a2c4ad..27a0266923743d4856919b9c8772a40e59febe83 100755
+index cefb7413eac6ffc50e67f1eaf63def749314428b..454abe6a5005621967dd96e0282e7bce2a0b127e 100755
 --- a/target/linux/ar71xx/base-files/etc/board.d/02_network
 +++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
-@@ -237,7 +237,8 @@ ar71xx_setup_interfaces()
+@@ -243,7 +243,8 @@ ar71xx_setup_interfaces()
  	mynet-n750|\
  	sr3200|\
  	wndr3700v4|\
@@ -61,7 +61,7 @@ index 24ead87850f13346ea4be4f9bfb5582e64a2c4ad..27a0266923743d4856919b9c8772a40e
  		ucidef_add_switch "switch0" \
  			"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
  		;;
-@@ -481,6 +482,7 @@ ar71xx_setup_macs()
+@@ -487,6 +488,7 @@ ar71xx_setup_macs()
  		lan_mac=$(mtd_get_mac_binary caldata 0)
  		wan_mac=$(mtd_get_mac_binary caldata 6)
  		;;
diff --git a/patches/lede/0046-ar71xx-QCA956X-add-missing-register.patch b/patches/lede/0046-ar71xx-QCA956X-add-missing-register.patch
deleted file mode 100644
index e01dc479921dd1b9cd3f1015e5b042871ac808c2..0000000000000000000000000000000000000000
--- a/patches/lede/0046-ar71xx-QCA956X-add-missing-register.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From: Henryk Heisig <hyniu@o2.pl>
-Date: Fri, 6 Jan 2017 21:21:11 +0100
-Subject: ar71xx: QCA956X: add missing register
-
-Signed-off-by: Henryk Heisig <hyniu@o2.pl>
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
-index 790c2d3396ffd0a0d00d13403b7f22e32863eef4..a8b19b68b2a46545fdd3ed6bdf14006f8a741185 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
-@@ -686,7 +686,6 @@ static int __init ath79_setup_phy_if_mode(unsigned int id,
- 		case ATH79_SOC_AR7241:
- 		case ATH79_SOC_AR9330:
- 		case ATH79_SOC_AR9331:
--		case ATH79_SOC_QCA956X:
- 		case ATH79_SOC_TP9343:
- 			pdata->phy_if_mode = PHY_INTERFACE_MODE_GMII;
- 			break;
-@@ -698,6 +697,7 @@ static int __init ath79_setup_phy_if_mode(unsigned int id,
- 		case ATH79_SOC_AR9342:
- 		case ATH79_SOC_AR9344:
- 		case ATH79_SOC_QCA9533:
-+		case ATH79_SOC_QCA956X:
- 			switch (pdata->phy_if_mode) {
- 			case PHY_INTERFACE_MODE_MII:
- 			case PHY_INTERFACE_MODE_GMII:
-@@ -814,6 +814,27 @@ void __init ath79_setup_qca955x_eth_cfg(u32 mask)
- 	iounmap(base);
- }
- 
-+void __init ath79_setup_qca956x_eth_cfg(u32 mask)
-+{
-+	void __iomem *base;
-+	u32 t;
-+
-+	base = ioremap(QCA956X_GMAC_BASE, QCA956X_GMAC_SIZE);
-+
-+	t = __raw_readl(base + QCA956X_GMAC_REG_ETH_CFG);
-+
-+	t &= ~(QCA956X_ETH_CFG_SW_ONLY_MODE |
-+	       QCA956X_ETH_CFG_SW_PHY_SWAP);
-+
-+	t |= mask;
-+
-+	__raw_writel(t, base + QCA956X_GMAC_REG_ETH_CFG);
-+	/* flush write */
-+	__raw_readl(base + QCA956X_GMAC_REG_ETH_CFG);
-+
-+	iounmap(base);
-+}
-+
- static int ath79_eth_instance __initdata;
- void __init ath79_register_eth(unsigned int id)
- {
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h
-index 5a226e40284b6853b59812ffc791e0612c91fa9b..fb9e4f63c66ef9008e423007ecff02c93c321fb8 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.h
-@@ -49,5 +49,6 @@ void ath79_setup_ar933x_phy4_switch(bool mac, bool mdio);
- void ath79_setup_ar934x_eth_cfg(u32 mask);
- void ath79_setup_ar934x_eth_rx_delay(unsigned int rxd, unsigned int rxdv);
- void ath79_setup_qca955x_eth_cfg(u32 mask);
-+void ath79_setup_qca956x_eth_cfg(u32 mask);
- 
- #endif /* _ATH79_DEV_ETH_H */
-diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
-index 5fd352c638a75063945adadb64b1043cd81b506c..078fa157f242ce4350185d97a61ef5d1f3f16fc5 100644
---- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
-+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
-@@ -37,11 +37,13 @@ struct ag71xx_platform_data {
- 	u8		is_ar724x:1;
- 	u8		has_ar8216:1;
- 	u8		use_flow_control:1;
-+	u8		is_qca956x:1;
- 
- 	struct ag71xx_switch_platform_data *switch_data;
- 
- 	void		(*ddr_flush)(void);
- 	void		(*set_speed)(int speed);
-+	void		(*update_pll)(u32 pll_10, u32 pll_100, u32 pll_1000);
- 
- 	u32		fifo_cfg1;
- 	u32		fifo_cfg2;
-diff --git a/target/linux/ar71xx/patches-4.4/622-MIPS-ath79-add-more-register-defines-for-QCA956x-SoC.patch b/target/linux/ar71xx/patches-4.4/622-MIPS-ath79-add-more-register-defines-for-QCA956x-SoC.patch
-new file mode 100644
-index 0000000000000000000000000000000000000000..dff354398cd2ab6556b13be9f7ce45f4d7f311e8
---- /dev/null
-+++ b/target/linux/ar71xx/patches-4.4/622-MIPS-ath79-add-more-register-defines-for-QCA956x-SoC.patch
-@@ -0,0 +1,38 @@
-+--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
-++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
-+@@ -157,6 +157,10 @@
-+ #define QCA956X_EHCI0_BASE	0x1b000000
-+ #define QCA956X_EHCI1_BASE	0x1b400000
-+ #define QCA956X_EHCI_SIZE	0x200
-++#define QCA956X_GMAC_SGMII_BASE	(AR71XX_APB_BASE + 0x00070000)
-++#define QCA956X_GMAC_SGMII_SIZE	0x64
-++#define QCA956X_PLL_BASE	(AR71XX_APB_BASE + 0x00050000)
-++#define QCA956X_PLL_SIZE	0x50
-+ #define QCA956X_GMAC_BASE	(AR71XX_APB_BASE + 0x00070000)
-+ #define QCA956X_GMAC_SIZE	0x64
-+ 
-+@@ -404,6 +408,7 @@
-+ #define QCA956X_PLL_DDR_CONFIG_REG			0x08
-+ #define QCA956X_PLL_DDR_CONFIG1_REG			0x0c
-+ #define QCA956X_PLL_CLK_CTRL_REG			0x10
-++#define QCA956X_PLL_ETH_XMII_CONTROL_REG		0x30
-+ 
-+ #define QCA956X_PLL_CPU_CONFIG_REFDIV_SHIFT		12
-+ #define QCA956X_PLL_CPU_CONFIG_REFDIV_MASK		0x1f
-+@@ -1186,4 +1191,16 @@
-+ #define QCA955X_ETH_CFG_TXE_DELAY_MASK	0x3
-+ #define QCA955X_ETH_CFG_TXE_DELAY_SHIFT	20
-+ 
-++/*
-++ * QCA956X GMAC Interface
-++ */
-++
-++#define QCA956X_GMAC_REG_ETH_CFG		0x00
-++
-++#define QCA956X_ETH_CFG_SW_ONLY_MODE		BIT(7)
-++#define QCA956X_ETH_CFG_SW_PHY_SWAP		    BIT(8)
-++#define QCA956X_ETH_CFG_SW_PHY_ADDR_SWAP	BIT(9)
-++#define QCA956X_ETH_CFG_SW_APB_ACCESS		BIT(10)
-++#define QCA956X_ETH_CFG_SW_ACC_MSB_FIRST	BIT(13)
-++
-+ #endif /* __ASM_MACH_AR71XX_REGS_H */
-diff --git a/target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch b/target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch
-index add2992186ad1d82ce924d2f1ccdf3c36c390a3d..8aa5957a7152af27854f6f7c197120b8029cf9e8 100644
---- a/target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch
-+++ b/target/linux/ar71xx/patches-4.4/640-MIPS-ath79-add-QCA955x-wmac-reset.patch
-@@ -20,7 +20,7 @@
-  #define AR71XX_UART_BASE	(AR71XX_APB_BASE + 0x00020000)
-  #define AR71XX_UART_SIZE	0x100
-  #define AR71XX_USB_CTRL_BASE	(AR71XX_APB_BASE + 0x00030000)
--@@ -218,6 +218,9 @@
-+@@ -222,6 +222,9 @@
-  #define QCA953X_DDR_REG_FLUSH_PCIE	0xa8
-  #define QCA953X_DDR_REG_FLUSH_WMAC	0xac
-  
-diff --git a/target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch b/target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch
-index 7db6ad361fa21252118e589195b0bc73222cf4f5..6b331587d157511a40fc1e46630c416a60565a0b 100644
---- a/target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch
-+++ b/target/linux/ar71xx/patches-4.4/820-MIPS-ath79-add_gpio_function2_setup.patch
-@@ -48,7 +48,7 @@ functions on the Arduino Yun.
-  	void __iomem *reg = ath79_gpio_get_function_reg();
- --- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
- +++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
--@@ -850,6 +850,7 @@
-+@@ -855,6 +855,7 @@
-  #define AR71XX_GPIO_REG_INT_PENDING	0x20
-  #define AR71XX_GPIO_REG_INT_ENABLE	0x24
-  #define AR71XX_GPIO_REG_FUNC		0x28
-@@ -56,7 +56,7 @@ functions on the Arduino Yun.
-  
-  #define AR934X_GPIO_REG_OUT_FUNC0	0x2c
-  #define AR934X_GPIO_REG_OUT_FUNC1	0x30
--@@ -974,6 +975,8 @@
-+@@ -979,6 +980,8 @@
-  #define AR724X_GPIO_FUNC_UART_EN		BIT(1)
-  #define AR724X_GPIO_FUNC_JTAG_DISABLE		BIT(0)
-  
diff --git a/patches/lede/0048-ar71xx-add-support-for-TP-LINK-Archer-C7-v4.patch b/patches/lede/0046-ar71xx-add-support-for-TP-LINK-Archer-C7-v4.patch
similarity index 99%
rename from patches/lede/0048-ar71xx-add-support-for-TP-LINK-Archer-C7-v4.patch
rename to patches/lede/0046-ar71xx-add-support-for-TP-LINK-Archer-C7-v4.patch
index 55a6fc5c90820d792a2336b89a303995e650723d..2b47dad4f5f13d9b3dd6dc7b1c3cb9f27c3e8909 100644
--- a/patches/lede/0048-ar71xx-add-support-for-TP-LINK-Archer-C7-v4.patch
+++ b/patches/lede/0046-ar71xx-add-support-for-TP-LINK-Archer-C7-v4.patch
@@ -68,10 +68,10 @@ index e67b5e38561e841b88e486341950c52e1d454322..44b1c2837e8392596eed14b4bc0d7610
  arduino-yun)
  	ucidef_set_led_wlan "wlan" "WLAN" "arduino:blue:wlan" "phy0tpt"
 diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
-index 27a0266923743d4856919b9c8772a40e59febe83..b8452d79cb7f0f856f60ad3050cc9627d2536213 100755
+index 454abe6a5005621967dd96e0282e7bce2a0b127e..86ac949bca12561536ce2c8adb190eb004c162e4 100755
 --- a/target/linux/ar71xx/base-files/etc/board.d/02_network
 +++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
-@@ -380,6 +380,7 @@ ar71xx_setup_interfaces()
+@@ -386,6 +386,7 @@ ar71xx_setup_interfaces()
  		ucidef_set_interface_wan "eth0"
  		ucidef_set_interface_raw "wlan" "wlan0" "dhcp"
  		;;
diff --git a/patches/lede/0047-ag71xx-Fix-rx-ring-buffer-stall-on-small-packets-flood-on-qca956x-and-qca953x.patch b/patches/lede/0047-ag71xx-Fix-rx-ring-buffer-stall-on-small-packets-flood-on-qca956x-and-qca953x.patch
deleted file mode 100644
index a1cd52b3bbe006514fef44e620011c57f6620080..0000000000000000000000000000000000000000
--- a/patches/lede/0047-ag71xx-Fix-rx-ring-buffer-stall-on-small-packets-flood-on-qca956x-and-qca953x.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From: Vittorio Gambaletta <openwrt@vittgam.net>
-Date: Sat, 25 Mar 2017 18:08:02 +0100
-Subject: ag71xx: Fix rx ring buffer stall on small packets flood on qca956x and qca953x.
-
-Backported from Code Aurora QSDK
-
-Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
-index a8b19b68b2a46545fdd3ed6bdf14006f8a741185..427de6a50d0fcbc9dae11f8e6921194c0a5b09ed 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c
-@@ -996,6 +996,9 @@ void __init ath79_register_eth(unsigned int id)
- 			pdata->reset_bit = AR934X_RESET_GE0_MAC |
- 					   AR934X_RESET_GE0_MDIO;
- 			pdata->set_speed = ar934x_set_speed_ge0;
-+
-+			if (ath79_soc == ATH79_SOC_QCA9533)
-+				pdata->disable_inline_checksum_engine = 1;
- 		} else {
- 			pdata->reset_bit = AR934X_RESET_GE1_MAC |
- 					   AR934X_RESET_GE1_MDIO;
-@@ -1097,6 +1100,8 @@ void __init ath79_register_eth(unsigned int id)
- 				pdata->set_speed = qca956x_set_speed_sgmii;
- 			else
- 				pdata->set_speed = ar934x_set_speed_ge0;
-+
-+			pdata->disable_inline_checksum_engine = 1;
- 		} else {
- 			pdata->reset_bit = QCA955X_RESET_GE1_MAC |
- 					   QCA955X_RESET_GE1_MDIO;
-diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
-index 078fa157f242ce4350185d97a61ef5d1f3f16fc5..5fdc59c7b78b84670daefa9fd831b154ded84ddc 100644
---- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
-+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
-@@ -37,7 +37,7 @@ struct ag71xx_platform_data {
- 	u8		is_ar724x:1;
- 	u8		has_ar8216:1;
- 	u8		use_flow_control:1;
--	u8		is_qca956x:1;
-+	u8		disable_inline_checksum_engine:1;
- 
- 	struct ag71xx_switch_platform_data *switch_data;
- 
-diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
-index 566e9513d8b7c6ef101902ae7d281dcc1c233893..72dd654a691355c881b15d796fad0d640e05fc15 100644
---- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
-+++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
-@@ -629,6 +629,22 @@ __ag71xx_link_adjust(struct ag71xx *ag, bool update)
- 	ag71xx_wr(ag, AG71XX_REG_MAC_CFG2, cfg2);
- 	ag71xx_wr(ag, AG71XX_REG_FIFO_CFG5, fifo5);
- 	ag71xx_wr(ag, AG71XX_REG_MAC_IFCTL, ifctl);
-+
-+	if (pdata->disable_inline_checksum_engine) {
-+		/*
-+		 * The rx ring buffer can stall on small packets on QCA953x and
-+		 * QCA956x. Disabling the inline checksum engine fixes the stall.
-+		 * The wr, rr functions cannot be used since this hidden register
-+		 * is outside of the normal ag71xx register block.
-+		 */
-+		void __iomem *dam = ioremap_nocache(0xb90001bc, 0x4);
-+		if (dam) {
-+			__raw_writel(__raw_readl(dam) & ~BIT(27), dam);
-+			(void)__raw_readl(dam);
-+			iounmap(dam);
-+		}
-+	}
-+
- 	ag71xx_hw_start(ag);
- 
- 	netif_carrier_on(ag->dev);
diff --git a/patches/lede/0049-ar71xx-fix-TP-Link-Archer-C7-v4-switch-LEDs.patch b/patches/lede/0047-ar71xx-fix-TP-Link-Archer-C7-v4-switch-LEDs.patch
similarity index 100%
rename from patches/lede/0049-ar71xx-fix-TP-Link-Archer-C7-v4-switch-LEDs.patch
rename to patches/lede/0047-ar71xx-fix-TP-Link-Archer-C7-v4-switch-LEDs.patch
diff --git a/patches/lede/0050-ar71xx-fix-Archer-C7-5GHz-MAC-address.patch b/patches/lede/0048-ar71xx-fix-Archer-C7-5GHz-MAC-address.patch
similarity index 100%
rename from patches/lede/0050-ar71xx-fix-Archer-C7-5GHz-MAC-address.patch
rename to patches/lede/0048-ar71xx-fix-Archer-C7-5GHz-MAC-address.patch
diff --git a/patches/lede/0051-ebtables-Use-flock-for-concurrent-option.patch b/patches/lede/0049-ebtables-Use-flock-for-concurrent-option.patch
similarity index 100%
rename from patches/lede/0051-ebtables-Use-flock-for-concurrent-option.patch
rename to patches/lede/0049-ebtables-Use-flock-for-concurrent-option.patch