diff --git a/modules b/modules
index b8a19939fc34f648dc2b545b727d3aed8e121570..4582a2975b2bc786ebbab6b71627e295d459a6b3 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=2e26bdfeca2ffe381eb17fa9765724be7d45e1d8
+LEDE_COMMIT=788312ca59c57f1cfc4737378526ff1c2a1c8374
 
 PACKAGES_OPENWRT_REPO=https://github.com/openwrt/packages.git
 PACKAGES_OPENWRT_BRANCH=lede-17.01
diff --git a/patches/lede/0015-base-files-always-use-staged-sysupgrade.patch b/patches/lede/0015-base-files-always-use-staged-sysupgrade.patch
index 64bccb3fd1114ed5c097772c8af57b94b8ac5d6b..f2e02ebb1d1c1dff34609dbd1c2cb631971b8337 100644
--- a/patches/lede/0015-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 3ddd1e74657e0f9893533f917cb56ed0c2e3196c..6f8e408401906666db945a981100962139fc7d32 100644
+index 8c1b3b180e1ecfdd2c106dd3b8853cd487ff89b4..ef9aac709fc1619ba15eeb0aeb4a9a6a372369b2 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 3ddd1e74657e0f9893533f917cb56ed0c2e3196c..6f8e408401906666db945a9811009621
  }
  
  get_magic_word() {
-@@ -328,12 +316,14 @@ default_do_upgrade() {
+@@ -331,12 +319,14 @@ default_do_upgrade() {
  	fi
  }
  
@@ -166,7 +166,7 @@ index 3ddd1e74657e0f9893533f917cb56ed0c2e3196c..6f8e408401906666db945a9811009621
  	fi
  
  	if [ "$SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' >/dev/null 2>/dev/null; then
-@@ -341,12 +331,11 @@ do_upgrade() {
+@@ -344,12 +334,11 @@ do_upgrade() {
  	fi
  
  	v "Upgrade completed"
diff --git a/patches/lede/0018-base-files-sysupgrade-cleanup.patch b/patches/lede/0018-base-files-sysupgrade-cleanup.patch
index 368374695c38b2d6a0ba510554e358b25e5a4dcc..b04cd21918f66f7a62a0d9e3ac0ca23cde7e2235 100644
--- a/patches/lede/0018-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 6f8e408401906666db945a981100962139fc7d32..b18463f6b8e81d871b27146c00d061941ac6a2ec 100644
+index ef9aac709fc1619ba15eeb0aeb4a9a6a372369b2..af7682c29e005c6ca47b91e9be2d60c359a90d05 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/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 69f8d544942a9010a846998b918b9597ee57aefa..82de11772044ce179d934a50aa5456531ded8254 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 b18463f6b8e81d871b27146c00d061941ac6a2ec..f0443f8c495dc0c14a52e8b88b20a22c7620291b 100644
+index af7682c29e005c6ca47b91e9be2d60c359a90d05..6ccd84c5a95348124412adc8bf41d3fa4894435a 100644
 --- a/package/base-files/files/lib/upgrade/common.sh
 +++ b/package/base-files/files/lib/upgrade/common.sh
-@@ -219,7 +219,7 @@ default_do_upgrade() {
+@@ -222,7 +222,7 @@ default_do_upgrade() {
  do_upgrade_stage2() {
  	v "Performing system upgrade..."
  	if [ -n "$do_upgrade" ]; then
diff --git a/patches/lede/0061-ar71xx-add-unaligned-access-hacks-for-VXLAN.patch b/patches/lede/0061-ar71xx-add-unaligned-access-hacks-for-VXLAN.patch
index 2deb487b85b638d40f84cc9522588a6f46248415..6f67670c13f87cbc323186d56516f8efac110326 100644
--- a/patches/lede/0061-ar71xx-add-unaligned-access-hacks-for-VXLAN.patch
+++ b/patches/lede/0061-ar71xx-add-unaligned-access-hacks-for-VXLAN.patch
@@ -5,7 +5,7 @@ Subject: ar71xx: add unaligned access hacks for VXLAN
 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
-index a8d8c15c3b07d70e159e03e61634fa5a9b7069a5..3550da14482cf6f08e321e0874d87297a5e23252 100644
+index 9a440b45059b4af9a974cd82f4686ea5c6f3e265..37841c035cd8b0b893b27e9f1fad6e0b02f4af6f 100644
 --- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
 +++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
 @@ -929,3 +929,119 @@