Skip to content
Snippets Groups Projects
Commit 6f23ef9e authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

Update OpenWrt base

We got most of our patches backported by upstream :)
parent 289b5992
No related branches found
No related tags found
No related merge requests found
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sun, 28 Feb 2016 03:42:29 +0100
Subject: kernel/gpio_keys: load module on pre-init
fix rescue mode on wdr4900
Backport of r48793
diff --git a/package/kernel/linux/modules/input.mk b/package/kernel/linux/modules/input.mk
index 86ff33c..eed9aa2 100644
--- a/package/kernel/linux/modules/input.mk
+++ b/package/kernel/linux/modules/input.mk
@@ -75,7 +75,7 @@ define KernelPackage/input-gpio-keys
CONFIG_KEYBOARD_GPIO \
CONFIG_INPUT_KEYBOARD=y
FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
- AUTOLOAD:=$(call AutoProbe,gpio_keys)
+ AUTOLOAD:=$(call AutoProbe,gpio_keys,1)
endef
define KernelPackage/input-gpio-keys/description
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sun, 28 Feb 2016 04:49:51 +0100
Subject: ar71xx/lzma-loader: fix O32 ABI conformance
According to the calling convention of the o32 ABI the caller
function must reserve stack space for $a0-$a3 registers in case
the callee needs to save its arguments.
The assembly code of the loader does not reserve stack space for
these registers thus when the 'loader_main' function needs to save
its arguments, those will be stored in the 'workspace' area instead
of the stack.
Because the workspace area is also used by other part of the code, the
saved register values gets overwritten and this often leads to failed
kernel boots.
Fix the code to reserve stack space for the registers to avoid this
error.
Backport of r48279
diff --git a/target/linux/ar71xx/image/lzma-loader/src/head.S b/target/linux/ar71xx/image/lzma-loader/src/head.S
index 543996a..47a7c9b 100644
--- a/target/linux/ar71xx/image/lzma-loader/src/head.S
+++ b/target/linux/ar71xx/image/lzma-loader/src/head.S
@@ -109,6 +109,9 @@ __bss_check:
/* Setup new "C" stack */
la sp, _stack
+ /* reserve stack space for a0-a3 registers */
+ subu sp, 16
+
/* jump to the decompressor routine */
la t0, loader_main
jr t0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment