diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2016-04-20 06:05:56 +0000 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2016-04-20 06:05:56 +0000 |
commit | dfcf8a8dbe2e77b7b5797838d809e778dba0ff9f (patch) | |
tree | 9bd645c47729c12cf5be4dd993cf81549ff29392 /target/linux/ar71xx/patches-3.18/521-MIPS-ath79-enable-UART-for-early_serial.patch | |
parent | 877ee7d7f54847b4e95c1feb6de0f5413e2fe7a1 (diff) | |
download | upstream-dfcf8a8dbe2e77b7b5797838d809e778dba0ff9f.tar.gz upstream-dfcf8a8dbe2e77b7b5797838d809e778dba0ff9f.tar.bz2 upstream-dfcf8a8dbe2e77b7b5797838d809e778dba0ff9f.zip |
ar71xx: fix nondeterministic hangs during bootconsole/console handover
Reconfiguring the UART when the FIFO is not empty may cause the boot to
hang. This hang is extremely suspectible to timing differences; recompiling
the kernel with the same configuration, but different UTS_VERSION
timestamps can yield images that hang more or less often. Sometimes images
are produced that hang reproducibly.
This patch should also make it into one of the next linux-stable releases,
but it's better to get this fixed as soon as possible.
Fixes #21773, #21857.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Backport of r49156
git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@49202 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/patches-3.18/521-MIPS-ath79-enable-UART-for-early_serial.patch')
-rw-r--r-- | target/linux/ar71xx/patches-3.18/521-MIPS-ath79-enable-UART-for-early_serial.patch | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target/linux/ar71xx/patches-3.18/521-MIPS-ath79-enable-UART-for-early_serial.patch b/target/linux/ar71xx/patches-3.18/521-MIPS-ath79-enable-UART-for-early_serial.patch index 3d6ddfe18c..e546ff26fe 100644 --- a/target/linux/ar71xx/patches-3.18/521-MIPS-ath79-enable-UART-for-early_serial.patch +++ b/target/linux/ar71xx/patches-3.18/521-MIPS-ath79-enable-UART-for-early_serial.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/early_printk.c +++ b/arch/mips/ath79/early_printk.c -@@ -56,6 +56,46 @@ static void prom_putchar_dummy(unsigned +@@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned /* nothing to do */ } @@ -47,7 +47,7 @@ static void prom_putchar_init(void) { void __iomem *base; -@@ -86,8 +126,10 @@ static void prom_putchar_init(void) +@@ -88,8 +128,10 @@ static void prom_putchar_init(void) default: _prom_putchar = prom_putchar_dummy; |