[1/3] upgrades openwrt revision to ba0cac0

Submitted by Tobias Klaus on April 22, 2016, 3:22 p.m.

Details

Message ID 1461338538-4439-2-git-send-email-tk+ff@meskal.net
State Rejected, archived
Headers show

Commit Message

Tobias Klaus April 22, 2016, 3:22 p.m.
From: Tobias Klaus <tk@meskal.net>

Mainly bcm53xx fixes have been introduced

But also two main changes for us:
* Image names of WR841 models are unified now, omitting the confusing n and nd suffixes
  -> we need an transition path for sysupgrade, not included in this patch
* The fix for Nanostation/Picostation is now mainline

Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
---
 bsp/board_ar71xx.bsp                               |  8 +-
 ...e-bootconsole-wait-for-both-THRE-and-TEMT.patch | 86 ----------------------
 buildscript                                        |  2 +-
 3 files changed, 5 insertions(+), 91 deletions(-)
 delete mode 100644 build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch

Patch hide | download patch | download mbox

diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
index 4c406ca..ea94acd 100644
--- a/bsp/board_ar71xx.bsp
+++ b/bsp/board_ar71xx.bsp
@@ -6,10 +6,10 @@  images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"
         "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"
         "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin"
         "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin"
-        "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"
-        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"
-        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"
-        "openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"
+        "openwrt-ar71xx-generic-tl-wr841-v7-squashfs-sysupgrade.bin"
+        "openwrt-ar71xx-generic-tl-wr841-v8-squashfs-sysupgrade.bin"
+        "openwrt-ar71xx-generic-tl-wr841-v9-squashfs-sysupgrade.bin"
+        "openwrt-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin"
         "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"
         "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin"
         "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin"
diff --git a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch b/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
deleted file mode 100644
index ada44bc..0000000
--- a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
+++ /dev/null
@@ -1,86 +0,0 @@ 
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Thu, 24 Mar 2016 18:30:26 +0100
-Subject: ar71xx: make bootconsole wait for both THRE and TEMT
-
-Original commit message:
-
-    MIPS: ath79: make bootconsole wait for both THRE and TEMT
-
-    This makes the ath79 bootconsole behave the same way as the generic 8250
-    bootconsole.
-
-    Also waiting for TEMT (transmit buffer is empty) instead of just THRE
-    (transmit buffer is not full) ensures that all characters have been
-    transmitted before the real serial driver starts reconfiguring the serial
-    controller (which would sometimes result in garbage being transmitted.)
-    This change does not cause a visible performance loss.
-
-    In addition, this seems to fix a hang observed in certain configurations on
-    many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
-
-    A more complete follow-up patch will disable 8250 autoconfig for ath79
-    altogether (the serial controller is detected as a 16550A, which is not
-    fully compatible with the ath79 serial, and the autoconfig may lead to
-    undefined behavior on ath79.)
-
-diff --git a/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch
-new file mode 100644
-index 0000000..7be14ab
---- /dev/null
-+++ b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch
-@@ -0,0 +1,54 @@
-+From f1ba020af5076172c9d29006a747ccf40027fedc Mon Sep 17 00:00:00 2001
-+Message-Id: <f1ba020af5076172c9d29006a747ccf40027fedc.1458840219.git.mschiffer@universe-factory.net>
-+From: Matthias Schiffer <mschiffer@universe-factory.net>
-+Date: Thu, 24 Mar 2016 15:34:05 +0100
-+Subject: [PATCH] MIPS: ath79: make bootconsole wait for both THRE and TEMT
-+
-+This makes the ath79 bootconsole behave the same way as the generic 8250
-+bootconsole.
-+
-+Also waiting for TEMT (transmit buffer is empty) instead of just THRE
-+(transmit buffer is not full) ensures that all characters have been
-+transmitted before the real serial driver starts reconfiguring the serial
-+controller (which would sometimes result in garbage being transmitted.)
-+This change does not cause a visible performance loss.
-+
-+In addition, this seems to fix a hang observed in certain configurations on
-+many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
-+
-+A more complete follow-up patch will disable 8250 autoconfig for ath79
-+altogether (the serial controller is detected as a 16550A, which is not
-+fully compatible with the ath79 serial, and the autoconfig may lead to
-+undefined behavior on ath79.)
-+
-+Cc: <stable@vger.kernel.org>
-+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-+---
-+ arch/mips/ath79/early_printk.c | 6 ++++--
-+ 1 file changed, 4 insertions(+), 2 deletions(-)
-+
-+diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
-+index b955faf..d1adc59 100644
-+--- a/arch/mips/ath79/early_printk.c
-++++ b/arch/mips/ath79/early_printk.c
-+@@ -31,13 +31,15 @@ static inline void prom_putchar_wait(void __iomem *reg, u32 mask, u32 val)
-+ 	} while (1);
-+ }
-+ 
-++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
-++
-+ static void prom_putchar_ar71xx(unsigned char ch)
-+ {
-+ 	void __iomem *base = (void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE));
-+ 
-+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, UART_LSR_THRE);
-++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
-+ 	__raw_writel(ch, base + UART_TX * 4);
-+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, UART_LSR_THRE);
-++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
-+ }
-+ 
-+ static void prom_putchar_ar933x(unsigned char ch)
-+-- 
-+2.7.4
-+
-
diff --git a/buildscript b/buildscript
index 7d7d1e3..de09dbf 100755
--- a/buildscript
+++ b/buildscript
@@ -13,7 +13,7 @@ 
 
 builddir=./build
 
-OPENWRTREV="c75367d20240da182fcbdb68c8cce64eabd71ac5"
+OPENWRTREV="ba0cac08164150e74567787251e44b4d0d0dc140"
 OPENWRTURL="git://git.openwrt.org/15.05/openwrt.git"
 PACKAGEREV="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
 PACKAGEURL="https://github.com/openwrt/packages.git"

Comments

Jan Kraus April 22, 2016, 3:41 p.m.
Hi Tobias,

Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
Bitte erst applien, wenn die Diskussion zu sysupgrade und Imagenamen
durch ist.

Gruß Jan

Am Freitag, den 22.04.2016, 17:22 +0200 schrieb Tobias Klaus:
> From: Tobias Klaus <tk@meskal.net>
> 
> Mainly bcm53xx fixes have been introduced
> 
> But also two main changes for us:
> * Image names of WR841 models are unified now, omitting the confusing n and nd suffixes
>   -> we need an transition path for sysupgrade, not included in this patch
> * The fix for Nanostation/Picostation is now mainline
> 
> Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
> ---
>  bsp/board_ar71xx.bsp                               |  8 +-
>  ...e-bootconsole-wait-for-both-THRE-and-TEMT.patch | 86 ----------------------
>  buildscript                                        |  2 +-
>  3 files changed, 5 insertions(+), 91 deletions(-)
>  delete mode 100644 build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
> 
> diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
> index 4c406ca..ea94acd 100644
> --- a/bsp/board_ar71xx.bsp
> +++ b/bsp/board_ar71xx.bsp
> @@ -6,10 +6,10 @@ images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin"
> -        "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"
> -        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"
> -        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"
> -        "openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-tl-wr841-v7-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-tl-wr841-v8-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-tl-wr841-v9-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin"
> diff --git a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch b/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
> deleted file mode 100644
> index ada44bc..0000000
> --- a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -From: Matthias Schiffer <mschiffer@universe-factory.net>
> -Date: Thu, 24 Mar 2016 18:30:26 +0100
> -Subject: ar71xx: make bootconsole wait for both THRE and TEMT
> -
> -Original commit message:
> -
> -    MIPS: ath79: make bootconsole wait for both THRE and TEMT
> -
> -    This makes the ath79 bootconsole behave the same way as the generic 8250
> -    bootconsole.
> -
> -    Also waiting for TEMT (transmit buffer is empty) instead of just THRE
> -    (transmit buffer is not full) ensures that all characters have been
> -    transmitted before the real serial driver starts reconfiguring the serial
> -    controller (which would sometimes result in garbage being transmitted.)
> -    This change does not cause a visible performance loss.
> -
> -    In addition, this seems to fix a hang observed in certain configurations on
> -    many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
> -
> -    A more complete follow-up patch will disable 8250 autoconfig for ath79
> -    altogether (the serial controller is detected as a 16550A, which is not
> -    fully compatible with the ath79 serial, and the autoconfig may lead to
> -    undefined behavior on ath79.)
> -
> -diff --git a/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch
> -new file mode 100644
> -index 0000000..7be14ab
> ---- /dev/null
> -+++ b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch
> -@@ -0,0 +1,54 @@
> -+From f1ba020af5076172c9d29006a747ccf40027fedc Mon Sep 17 00:00:00 2001
> -+Message-Id: <f1ba020af5076172c9d29006a747ccf40027fedc.1458840219.git.mschiffer@universe-factory.net>
> -+From: Matthias Schiffer <mschiffer@universe-factory.net>
> -+Date: Thu, 24 Mar 2016 15:34:05 +0100
> -+Subject: [PATCH] MIPS: ath79: make bootconsole wait for both THRE and TEMT
> -+
> -+This makes the ath79 bootconsole behave the same way as the generic 8250
> -+bootconsole.
> -+
> -+Also waiting for TEMT (transmit buffer is empty) instead of just THRE
> -+(transmit buffer is not full) ensures that all characters have been
> -+transmitted before the real serial driver starts reconfiguring the serial
> -+controller (which would sometimes result in garbage being transmitted.)
> -+This change does not cause a visible performance loss.
> -+
> -+In addition, this seems to fix a hang observed in certain configurations on
> -+many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
> -+
> -+A more complete follow-up patch will disable 8250 autoconfig for ath79
> -+altogether (the serial controller is detected as a 16550A, which is not
> -+fully compatible with the ath79 serial, and the autoconfig may lead to
> -+undefined behavior on ath79.)
> -+
> -+Cc: <stable@vger.kernel.org>
> -+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
> -+---
> -+ arch/mips/ath79/early_printk.c | 6 ++++--
> -+ 1 file changed, 4 insertions(+), 2 deletions(-)
> -+
> -+diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
> -+index b955faf..d1adc59 100644
> -+--- a/arch/mips/ath79/early_printk.c
> -++++ b/arch/mips/ath79/early_printk.c
> -+@@ -31,13 +31,15 @@ static inline void prom_putchar_wait(void __iomem *reg, u32 mask, u32 val)
> -+ 	} while (1);
> -+ }
> -+ 
> -++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
> -++
> -+ static void prom_putchar_ar71xx(unsigned char ch)
> -+ {
> -+ 	void __iomem *base = (void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE));
> -+ 
> -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, UART_LSR_THRE);
> -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> -+ 	__raw_writel(ch, base + UART_TX * 4);
> -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, UART_LSR_THRE);
> -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> -+ }
> -+ 
> -+ static void prom_putchar_ar933x(unsigned char ch)
> -+-- 
> -+2.7.4
> -+
> -
> diff --git a/buildscript b/buildscript
> index 7d7d1e3..de09dbf 100755
> --- a/buildscript
> +++ b/buildscript
> @@ -13,7 +13,7 @@
>  
>  builddir=./build
>  
> -OPENWRTREV="c75367d20240da182fcbdb68c8cce64eabd71ac5"
> +OPENWRTREV="ba0cac08164150e74567787251e44b4d0d0dc140"
>  OPENWRTURL="git://git.openwrt.org/15.05/openwrt.git"
>  PACKAGEREV="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
>  PACKAGEURL="https://github.com/openwrt/packages.git"
> -- 
> 2.8.1
>
Tim Niemeyer April 22, 2016, 3:59 p.m.
Am Freitag, den 22.04.2016, 17:22 +0200 schrieb Tobias Klaus:
> From: Tobias Klaus <tk@meskal.net>
> 
> Mainly bcm53xx fixes have been introduced
> 
> But also two main changes for us:
> * Image names of WR841 models are unified now, omitting the confusing n and nd suffixes
>   -> we need an transition path for sysupgrade, not included in this patch

d.h. dieser Patch macht die Kompatiblität kaputt.

Das bezieht sich btw auch auf den wr842.

Was wird denn dann hier raus fallen: "cat /var/sysinfo/board_name" ?

Wenn sich das ändert müssen wir natürlich nicht nur das Upgrade
beachten, sondern vor allem die Benamung der network-configs. Bisher
folgen die "network.tl-wr841nd-v7" Dateien dem Namensschema der Images.
Sollten wir das nicht auch nachziehen?

Tim

> * The fix for Nanostation/Picostation is now mainline
> 
> Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
> ---
>  bsp/board_ar71xx.bsp                               |  8 +-
>  ...e-bootconsole-wait-for-both-THRE-and-TEMT.patch | 86 ----------------------
>  buildscript                                        |  2 +-
>  3 files changed, 5 insertions(+), 91 deletions(-)
>  delete mode 100644 build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
> 
> diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
> index 4c406ca..ea94acd 100644
> --- a/bsp/board_ar71xx.bsp
> +++ b/bsp/board_ar71xx.bsp
> @@ -6,10 +6,10 @@ images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin"
> -        "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"
> -        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"
> -        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"
> -        "openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-tl-wr841-v7-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-tl-wr841-v8-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-tl-wr841-v9-squashfs-sysupgrade.bin"
> +        "openwrt-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin"
>          "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin"
> diff --git a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch b/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
> deleted file mode 100644
> index ada44bc..0000000
> --- a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-and-TEMT.patch
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -From: Matthias Schiffer <mschiffer@universe-factory.net>
> -Date: Thu, 24 Mar 2016 18:30:26 +0100
> -Subject: ar71xx: make bootconsole wait for both THRE and TEMT
> -
> -Original commit message:
> -
> -    MIPS: ath79: make bootconsole wait for both THRE and TEMT
> -
> -    This makes the ath79 bootconsole behave the same way as the generic 8250
> -    bootconsole.
> -
> -    Also waiting for TEMT (transmit buffer is empty) instead of just THRE
> -    (transmit buffer is not full) ensures that all characters have been
> -    transmitted before the real serial driver starts reconfiguring the serial
> -    controller (which would sometimes result in garbage being transmitted.)
> -    This change does not cause a visible performance loss.
> -
> -    In addition, this seems to fix a hang observed in certain configurations on
> -    many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
> -
> -    A more complete follow-up patch will disable 8250 autoconfig for ath79
> -    altogether (the serial controller is detected as a 16550A, which is not
> -    fully compatible with the ath79 serial, and the autoconfig may lead to
> -    undefined behavior on ath79.)
> -
> -diff --git a/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch
> -new file mode 100644
> -index 0000000..7be14ab
> ---- /dev/null
> -+++ b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-for-both-THRE-and-T.patch
> -@@ -0,0 +1,54 @@
> -+From f1ba020af5076172c9d29006a747ccf40027fedc Mon Sep 17 00:00:00 2001
> -+Message-Id: <f1ba020af5076172c9d29006a747ccf40027fedc.1458840219.git.mschiffer@universe-factory.net>
> -+From: Matthias Schiffer <mschiffer@universe-factory.net>
> -+Date: Thu, 24 Mar 2016 15:34:05 +0100
> -+Subject: [PATCH] MIPS: ath79: make bootconsole wait for both THRE and TEMT
> -+
> -+This makes the ath79 bootconsole behave the same way as the generic 8250
> -+bootconsole.
> -+
> -+Also waiting for TEMT (transmit buffer is empty) instead of just THRE
> -+(transmit buffer is not full) ensures that all characters have been
> -+transmitted before the real serial driver starts reconfiguring the serial
> -+controller (which would sometimes result in garbage being transmitted.)
> -+This change does not cause a visible performance loss.
> -+
> -+In addition, this seems to fix a hang observed in certain configurations on
> -+many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
> -+
> -+A more complete follow-up patch will disable 8250 autoconfig for ath79
> -+altogether (the serial controller is detected as a 16550A, which is not
> -+fully compatible with the ath79 serial, and the autoconfig may lead to
> -+undefined behavior on ath79.)
> -+
> -+Cc: <stable@vger.kernel.org>
> -+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
> -+---
> -+ arch/mips/ath79/early_printk.c | 6 ++++--
> -+ 1 file changed, 4 insertions(+), 2 deletions(-)
> -+
> -+diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
> -+index b955faf..d1adc59 100644
> -+--- a/arch/mips/ath79/early_printk.c
> -++++ b/arch/mips/ath79/early_printk.c
> -+@@ -31,13 +31,15 @@ static inline void prom_putchar_wait(void __iomem *reg, u32 mask, u32 val)
> -+ 	} while (1);
> -+ }
> -+ 
> -++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
> -++
> -+ static void prom_putchar_ar71xx(unsigned char ch)
> -+ {
> -+ 	void __iomem *base = (void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE));
> -+ 
> -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, UART_LSR_THRE);
> -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> -+ 	__raw_writel(ch, base + UART_TX * 4);
> -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, UART_LSR_THRE);
> -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> -+ }
> -+ 
> -+ static void prom_putchar_ar933x(unsigned char ch)
> -+-- 
> -+2.7.4
> -+
> -
> diff --git a/buildscript b/buildscript
> index 7d7d1e3..de09dbf 100755
> --- a/buildscript
> +++ b/buildscript
> @@ -13,7 +13,7 @@
>  
>  builddir=./build
>  
> -OPENWRTREV="c75367d20240da182fcbdb68c8cce64eabd71ac5"
> +OPENWRTREV="ba0cac08164150e74567787251e44b4d0d0dc140"
>  OPENWRTURL="git://git.openwrt.org/15.05/openwrt.git"
>  PACKAGEREV="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
>  PACKAGEURL="https://github.com/openwrt/packages.git"
> -- 
> 2.8.1
>
Tobias Klaus April 22, 2016, 4:05 p.m.
Hey,

On Freitag, 22. April 2016 17:59:40 CEST Tim Niemeyer wrote:
> Am Freitag, den 22.04.2016, 17:22 +0200 schrieb Tobias Klaus:
> > From: Tobias Klaus <tk@meskal.net>
> > 
> > Mainly bcm53xx fixes have been introduced
> > 
> > But also two main changes for us:
> > * Image names of WR841 models are unified now, omitting the confusing n
> > and nd suffixes> 
> >   -> we need an transition path for sysupgrade, not included in this patch
> 
> d.h. dieser Patch macht die Kompatiblität kaputt.
> 
> Das bezieht sich btw auch auf den wr842.
Woher hsat du diese Info? Hat hier einfach durchgebaut und in der 
entsprechenden Commit-Message steht auch nix.

> 
> Was wird denn dann hier raus fallen: "cat /var/sysinfo/board_name" ?
Achja, das wollte ich noch zur Antwort an Jan hinzufügen:
das hier steht in nem v10 drin:
cat /var/sysinfo/board_name 
tl-wr841n-v9

> 
> Wenn sich das ändert müssen wir natürlich nicht nur das Upgrade
> beachten, sondern vor allem die Benamung der network-configs. Bisher
> folgen die "network.tl-wr841nd-v7" Dateien dem Namensschema der Images.
> Sollten wir das nicht auch nachziehen?
Soweit ich das bisher sehe nicht.

Grüße
Tobias
> 
> Tim
> 
> > * The fix for Nanostation/Picostation is now mainline
> > 
> > Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
> > ---
> > 
> >  bsp/board_ar71xx.bsp                               |  8 +-
> >  ...e-bootconsole-wait-for-both-THRE-and-TEMT.patch | 86
> >  ---------------------- buildscript                                      
> >   |  2 +-
> >  3 files changed, 5 insertions(+), 91 deletions(-)
> >  delete mode 100644
> >  build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-an
> >  d-TEMT.patch> 
> > diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
> > index 4c406ca..ea94acd 100644
> > --- a/bsp/board_ar71xx.bsp
> > +++ b/bsp/board_ar71xx.bsp
> > @@ -6,10 +6,10 @@
> > images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"> 
> >          "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"
> >          "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin"
> >          "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin"
> > 
> > -        "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"
> > -        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"
> > -        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"
> > -        "openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"
> > +        "openwrt-ar71xx-generic-tl-wr841-v7-squashfs-sysupgrade.bin"
> > +        "openwrt-ar71xx-generic-tl-wr841-v8-squashfs-sysupgrade.bin"
> > +        "openwrt-ar71xx-generic-tl-wr841-v9-squashfs-sysupgrade.bin"
> > +        "openwrt-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin"
> > 
> >          "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"
> >          "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin"
> >          "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin"
> > 
> > diff --git
> > a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-a
> > nd-TEMT.patch
> > b/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-a
> > nd-TEMT.patch deleted file mode 100644
> > index ada44bc..0000000
> > ---
> > a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-a
> > nd-TEMT.patch +++ /dev/null
> > @@ -1,86 +0,0 @@
> > -From: Matthias Schiffer <mschiffer@universe-factory.net>
> > -Date: Thu, 24 Mar 2016 18:30:26 +0100
> > -Subject: ar71xx: make bootconsole wait for both THRE and TEMT
> > -
> > -Original commit message:
> > -
> > -    MIPS: ath79: make bootconsole wait for both THRE and TEMT
> > -
> > -    This makes the ath79 bootconsole behave the same way as the generic
> > 8250 -    bootconsole.
> > -
> > -    Also waiting for TEMT (transmit buffer is empty) instead of just THRE
> > -    (transmit buffer is not full) ensures that all characters have been
> > -    transmitted before the real serial driver starts reconfiguring the
> > serial -    controller (which would sometimes result in garbage being
> > transmitted.) -    This change does not cause a visible performance loss.
> > -
> > -    In addition, this seems to fix a hang observed in certain
> > configurations on -    many AR7xxx/AR9xxx SoCs during autoconfig of the
> > real serial driver. -
> > -    A more complete follow-up patch will disable 8250 autoconfig for
> > ath79
> > -    altogether (the serial controller is detected as a 16550A, which is
> > not -    fully compatible with the ath79 serial, and the autoconfig may
> > lead to -    undefined behavior on ath79.)
> > -
> > -diff --git
> > a/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-f
> > or-both-THRE-and-T.patch
> > b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-f
> > or-both-THRE-and-T.patch -new file mode 100644
> > -index 0000000..7be14ab
> > ---- /dev/null
> > -+++
> > b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-f
> > or-both-THRE-and-T.patch -@@ -0,0 +1,54 @@
> > -+From f1ba020af5076172c9d29006a747ccf40027fedc Mon Sep 17 00:00:00 2001
> > -+Message-Id:
> > <f1ba020af5076172c9d29006a747ccf40027fedc.1458840219.git.mschiffer@univer
> > se-factory.net> -+From: Matthias Schiffer <mschiffer@universe-factory.net>
> > -+Date: Thu, 24 Mar 2016 15:34:05 +0100
> > -+Subject: [PATCH] MIPS: ath79: make bootconsole wait for both THRE and
> > TEMT -+
> > -+This makes the ath79 bootconsole behave the same way as the generic 8250
> > -+bootconsole.
> > -+
> > -+Also waiting for TEMT (transmit buffer is empty) instead of just THRE
> > -+(transmit buffer is not full) ensures that all characters have been
> > -+transmitted before the real serial driver starts reconfiguring the
> > serial
> > -+controller (which would sometimes result in garbage being transmitted.)
> > -+This change does not cause a visible performance loss.
> > -+
> > -+In addition, this seems to fix a hang observed in certain configurations
> > on -+many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
> > -+
> > -+A more complete follow-up patch will disable 8250 autoconfig for ath79
> > -+altogether (the serial controller is detected as a 16550A, which is not
> > -+fully compatible with the ath79 serial, and the autoconfig may lead to
> > -+undefined behavior on ath79.)
> > -+
> > -+Cc: <stable@vger.kernel.org>
> > -+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
> > -+---
> > -+ arch/mips/ath79/early_printk.c | 6 ++++--
> > -+ 1 file changed, 4 insertions(+), 2 deletions(-)
> > -+
> > -+diff --git a/arch/mips/ath79/early_printk.c
> > b/arch/mips/ath79/early_printk.c -+index b955faf..d1adc59 100644
> > -+--- a/arch/mips/ath79/early_printk.c
> > -++++ b/arch/mips/ath79/early_printk.c
> > -+@@ -31,13 +31,15 @@ static inline void prom_putchar_wait(void __iomem
> > *reg, u32 mask, u32 val) -+ 	} while (1);
> > -+ }
> > -+
> > -++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
> > -++
> > -+ static void prom_putchar_ar71xx(unsigned char ch)
> > -+ {
> > -+ 	void __iomem *base = (void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE));
> > -+
> > -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, 
UART_LSR_THRE);
> > -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> > -+ 	__raw_writel(ch, base + UART_TX * 4);
> > -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, 
UART_LSR_THRE);
> > -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> > -+ }
> > -+
> > -+ static void prom_putchar_ar933x(unsigned char ch)
> > -+--
> > -+2.7.4
> > -+
> > -
> > diff --git a/buildscript b/buildscript
> > index 7d7d1e3..de09dbf 100755
> > --- a/buildscript
> > +++ b/buildscript
> > @@ -13,7 +13,7 @@
> > 
> >  builddir=./build
> > 
> > -OPENWRTREV="c75367d20240da182fcbdb68c8cce64eabd71ac5"
> > +OPENWRTREV="ba0cac08164150e74567787251e44b4d0d0dc140"
> > 
> >  OPENWRTURL="git://git.openwrt.org/15.05/openwrt.git"
> >  PACKAGEREV="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
> >  PACKAGEURL="https://github.com/openwrt/packages.git"
Tim Niemeyer April 22, 2016, 4:09 p.m.
Hi

Am Freitag, den 22.04.2016, 18:05 +0200 schrieb Tobias Klaus:
> Hey,
> 
> On Freitag, 22. April 2016 17:59:40 CEST Tim Niemeyer wrote:
> > Am Freitag, den 22.04.2016, 17:22 +0200 schrieb Tobias Klaus:
> > > From: Tobias Klaus <tk@meskal.net>
> > > 
> > > Mainly bcm53xx fixes have been introduced
> > > 
> > > But also two main changes for us:
> > > * Image names of WR841 models are unified now, omitting the confusing n
> > > and nd suffixes> 
> > >   -> we need an transition path for sysupgrade, not included in this patch
> > 
> > d.h. dieser Patch macht die Kompatiblität kaputt.
> > 
> > Das bezieht sich btw auch auf den wr842.
> Woher hsat du diese Info? Hat hier einfach durchgebaut und in der 
> entsprechenden Commit-Message steht auch nix.
Ah richtig. Hab ich mich verlesen!

Je länger ich darüber nachdenke, desto eher bin ich der Meinung wir
sollten den Patch reverten und auch bei OpenWrt darauf einwirken, dass
die das ebenfalls tun.

Entweder _alle_ Namen werden gefixt und angepasst oder keiner. Bisher
war es ein Chaos, dass stimmt. Aber der Patch hat das Chaos jetzt
eigentlich nur noch deutlich verschlimmert!

> > 
> > Was wird denn dann hier raus fallen: "cat /var/sysinfo/board_name" ?
> Achja, das wollte ich noch zur Antwort an Jan hinzufügen:
> das hier steht in nem v10 drin:
> cat /var/sysinfo/board_name 
> tl-wr841n-v9
Weil das wohl das selbe Board ist? Deswegen gibt es ja noch das Modell..

> > 
> > Wenn sich das ändert müssen wir natürlich nicht nur das Upgrade
> > beachten, sondern vor allem die Benamung der network-configs. Bisher
> > folgen die "network.tl-wr841nd-v7" Dateien dem Namensschema der Images.
> > Sollten wir das nicht auch nachziehen?
> Soweit ich das bisher sehe nicht.
Naja, ich bin der Meinung wir sollten das möglichst einheitlich machen.
Dieses hin und her gewurschtel von OpenWrt kann ich aktuell gar nicht
gut heißen!

Tim

> Grüße
> Tobias
> > 
> > Tim
> > 
> > > * The fix for Nanostation/Picostation is now mainline
> > > 
> > > Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
> > > ---
> > > 
> > >  bsp/board_ar71xx.bsp                               |  8 +-
> > >  ...e-bootconsole-wait-for-both-THRE-and-TEMT.patch | 86
> > >  ---------------------- buildscript                                      
> > >   |  2 +-
> > >  3 files changed, 5 insertions(+), 91 deletions(-)
> > >  delete mode 100644
> > >  build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-an
> > >  d-TEMT.patch> 
> > > diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
> > > index 4c406ca..ea94acd 100644
> > > --- a/bsp/board_ar71xx.bsp
> > > +++ b/bsp/board_ar71xx.bsp
> > > @@ -6,10 +6,10 @@
> > > images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"> 
> > >          "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"
> > >          "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin"
> > >          "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin"
> > > 
> > > -        "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"
> > > -        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"
> > > -        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"
> > > -        "openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"
> > > +        "openwrt-ar71xx-generic-tl-wr841-v7-squashfs-sysupgrade.bin"
> > > +        "openwrt-ar71xx-generic-tl-wr841-v8-squashfs-sysupgrade.bin"
> > > +        "openwrt-ar71xx-generic-tl-wr841-v9-squashfs-sysupgrade.bin"
> > > +        "openwrt-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin"
> > > 
> > >          "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"
> > >          "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin"
> > >          "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin"
> > > 
> > > diff --git
> > > a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-a
> > > nd-TEMT.patch
> > > b/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-a
> > > nd-TEMT.patch deleted file mode 100644
> > > index ada44bc..0000000
> > > ---
> > > a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE-a
> > > nd-TEMT.patch +++ /dev/null
> > > @@ -1,86 +0,0 @@
> > > -From: Matthias Schiffer <mschiffer@universe-factory.net>
> > > -Date: Thu, 24 Mar 2016 18:30:26 +0100
> > > -Subject: ar71xx: make bootconsole wait for both THRE and TEMT
> > > -
> > > -Original commit message:
> > > -
> > > -    MIPS: ath79: make bootconsole wait for both THRE and TEMT
> > > -
> > > -    This makes the ath79 bootconsole behave the same way as the generic
> > > 8250 -    bootconsole.
> > > -
> > > -    Also waiting for TEMT (transmit buffer is empty) instead of just THRE
> > > -    (transmit buffer is not full) ensures that all characters have been
> > > -    transmitted before the real serial driver starts reconfiguring the
> > > serial -    controller (which would sometimes result in garbage being
> > > transmitted.) -    This change does not cause a visible performance loss.
> > > -
> > > -    In addition, this seems to fix a hang observed in certain
> > > configurations on -    many AR7xxx/AR9xxx SoCs during autoconfig of the
> > > real serial driver. -
> > > -    A more complete follow-up patch will disable 8250 autoconfig for
> > > ath79
> > > -    altogether (the serial controller is detected as a 16550A, which is
> > > not -    fully compatible with the ath79 serial, and the autoconfig may
> > > lead to -    undefined behavior on ath79.)
> > > -
> > > -diff --git
> > > a/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-f
> > > or-both-THRE-and-T.patch
> > > b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-f
> > > or-both-THRE-and-T.patch -new file mode 100644
> > > -index 0000000..7be14ab
> > > ---- /dev/null
> > > -+++
> > > b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wait-f
> > > or-both-THRE-and-T.patch -@@ -0,0 +1,54 @@
> > > -+From f1ba020af5076172c9d29006a747ccf40027fedc Mon Sep 17 00:00:00 2001
> > > -+Message-Id:
> > > <f1ba020af5076172c9d29006a747ccf40027fedc.1458840219.git.mschiffer@univer
> > > se-factory.net> -+From: Matthias Schiffer <mschiffer@universe-factory.net>
> > > -+Date: Thu, 24 Mar 2016 15:34:05 +0100
> > > -+Subject: [PATCH] MIPS: ath79: make bootconsole wait for both THRE and
> > > TEMT -+
> > > -+This makes the ath79 bootconsole behave the same way as the generic 8250
> > > -+bootconsole.
> > > -+
> > > -+Also waiting for TEMT (transmit buffer is empty) instead of just THRE
> > > -+(transmit buffer is not full) ensures that all characters have been
> > > -+transmitted before the real serial driver starts reconfiguring the
> > > serial
> > > -+controller (which would sometimes result in garbage being transmitted.)
> > > -+This change does not cause a visible performance loss.
> > > -+
> > > -+In addition, this seems to fix a hang observed in certain configurations
> > > on -+many AR7xxx/AR9xxx SoCs during autoconfig of the real serial driver.
> > > -+
> > > -+A more complete follow-up patch will disable 8250 autoconfig for ath79
> > > -+altogether (the serial controller is detected as a 16550A, which is not
> > > -+fully compatible with the ath79 serial, and the autoconfig may lead to
> > > -+undefined behavior on ath79.)
> > > -+
> > > -+Cc: <stable@vger.kernel.org>
> > > -+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
> > > -+---
> > > -+ arch/mips/ath79/early_printk.c | 6 ++++--
> > > -+ 1 file changed, 4 insertions(+), 2 deletions(-)
> > > -+
> > > -+diff --git a/arch/mips/ath79/early_printk.c
> > > b/arch/mips/ath79/early_printk.c -+index b955faf..d1adc59 100644
> > > -+--- a/arch/mips/ath79/early_printk.c
> > > -++++ b/arch/mips/ath79/early_printk.c
> > > -+@@ -31,13 +31,15 @@ static inline void prom_putchar_wait(void __iomem
> > > *reg, u32 mask, u32 val) -+ 	} while (1);
> > > -+ }
> > > -+
> > > -++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
> > > -++
> > > -+ static void prom_putchar_ar71xx(unsigned char ch)
> > > -+ {
> > > -+ 	void __iomem *base = (void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE));
> > > -+
> > > -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, 
> UART_LSR_THRE);
> > > -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> > > -+ 	__raw_writel(ch, base + UART_TX * 4);
> > > -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE, 
> UART_LSR_THRE);
> > > -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> > > -+ }
> > > -+
> > > -+ static void prom_putchar_ar933x(unsigned char ch)
> > > -+--
> > > -+2.7.4
> > > -+
> > > -
> > > diff --git a/buildscript b/buildscript
> > > index 7d7d1e3..de09dbf 100755
> > > --- a/buildscript
> > > +++ b/buildscript
> > > @@ -13,7 +13,7 @@
> > > 
> > >  builddir=./build
> > > 
> > > -OPENWRTREV="c75367d20240da182fcbdb68c8cce64eabd71ac5"
> > > +OPENWRTREV="ba0cac08164150e74567787251e44b4d0d0dc140"
> > > 
> > >  OPENWRTURL="git://git.openwrt.org/15.05/openwrt.git"
> > >  PACKAGEREV="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
> > >  PACKAGEURL="https://github.com/openwrt/packages.git"
>
Tobias Klaus April 22, 2016, 5:07 p.m.
Hey,

On Freitag, 22. April 2016 18:09:58 CEST Tim Niemeyer wrote:
> Je länger ich darüber nachdenke, desto eher bin ich der Meinung wir
> sollten den Patch reverten und auch bei OpenWrt darauf einwirken, dass
> die das ebenfalls tun.
> 
> Entweder _alle_ Namen werden gefixt und angepasst oder keiner. Bisher
> war es ein Chaos, dass stimmt. Aber der Patch hat das Chaos jetzt
> eigentlich nur noch deutlich verschlimmert!
Ich sehe das erstmal nicht so stressig. Erstmal finde ich die Umbenennung 
richtig und gut. Und lieber ein bisschen Chaos weg als als gar keins.
Falls wir die Umbennenung mitmachen(was ich gut fände), brauchen wir sowieso 
ein Skript, das sie entsprechenden Symlinks für ein "duales" Release anlegt. 
Ob man da später noch ein paar modelle nachzieht oder nicht sollte ja fast 
egal sein.
Drittens gibt es wohl auch nur beim WR841 diese Verwirrung wo sie mal ein n 
mal ein nd genutzt haben(je nachdem welcher als erster auf dem Markt war?) bei 
allen anderen ist es soweit ich gerade beim drübersehen gesehen habe eh schon 
einheitlich(pro Board) also mal durchgehen mit n und mal durchgehen mit nd. Da 
war das Chaos eben wohl nicht so groß.

> > > Was wird denn dann hier raus fallen: "cat /var/sysinfo/board_name" ?
> > 
> > Achja, das wollte ich noch zur Antwort an Jan hinzufügen:
> > das hier steht in nem v10 drin:
> > cat /var/sysinfo/board_name
> > tl-wr841n-v9
> Weil das wohl das selbe Board ist? Deswegen gibt es ja noch das Modell..
Möchtest du auf die Vereinheitlichung und eine Umbenennung des Boards hinaus? 
v9 trifft es ja tatsächlich nicht mehr. Allerdings verstehe ich hier den 
Pragmatismus der Openwrt entwickler. "intern" haben  sich ja schon alle dran 
gewöhnt und es interessiert nur, obs ein neues Board ist oder nicht. Nach 
"außen" haben sie jetzt halt die Symptome dieses Pragmatismuses und des 
gewachsenen Chaoses beseitigt. Ich denke wir sollten da so ähnlich handeln...

> > > Wenn sich das ändert müssen wir natürlich nicht nur das Upgrade
> > > beachten, sondern vor allem die Benamung der network-configs. Bisher
> > > folgen die "network.tl-wr841nd-v7" Dateien dem Namensschema der Images.
> > > Sollten wir das nicht auch nachziehen?
> > 
> > Soweit ich das bisher sehe nicht.
> 
> Naja, ich bin der Meinung wir sollten das möglichst einheitlich machen.
> Dieses hin und her gewurschtel von OpenWrt kann ich aktuell gar nicht
> gut heißen!
Ich versteh die Unzufriedenheit, aber da müssten wir uns entweder näher zu 
openwrt bewegen, sprich "wichtigere" Entwickler werden, oder halt schauen, 
dass wir damit klar kommen, was sie so grob vorgeben. Dass ich ihre 
Entscheidung zumindest grob nachvollziehbar halte hab ich ja schon ausgeführt.

Grüße
Tobias

> Tim
> 
> > Grüße
> > Tobias
> > 
> > > Tim
> > > 
> > > > * The fix for Nanostation/Picostation is now mainline
> > > > 
> > > > Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
> > > > ---
> > > > 
> > > >  bsp/board_ar71xx.bsp                               |  8 +-
> > > >  ...e-bootconsole-wait-for-both-THRE-and-TEMT.patch | 86
> > > >  ---------------------- buildscript
> > > >  
> > > >   |  2 +-
> > > >  
> > > >  3 files changed, 5 insertions(+), 91 deletions(-)
> > > >  delete mode 100644
> > > >  build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE
> > > >  -an
> > > >  d-TEMT.patch>
> > > > 
> > > > diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
> > > > index 4c406ca..ea94acd 100644
> > > > --- a/bsp/board_ar71xx.bsp
> > > > +++ b/bsp/board_ar71xx.bsp
> > > > @@ -6,10 +6,10 @@
> > > > images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin">
> > > > 
> > > >          "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"
> > > >          "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin
> > > >          "
> > > >          "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin
> > > >          "
> > > > 
> > > > -       
> > > > "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"
> > > > -        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"
> > > > -        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"
> > > > -       
> > > > "openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"
> > > > +        "openwrt-ar71xx-generic-tl-wr841-v7-squashfs-sysupgrade.bin"
> > > > +        "openwrt-ar71xx-generic-tl-wr841-v8-squashfs-sysupgrade.bin"
> > > > +        "openwrt-ar71xx-generic-tl-wr841-v9-squashfs-sysupgrade.bin"
> > > > +        "openwrt-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin"
> > > > 
> > > >          "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"
> > > >          "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bi
> > > >          n"
> > > >          "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bi
> > > >          n"
> > > > 
> > > > diff --git
> > > > a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THR
> > > > E-a
> > > > nd-TEMT.patch
> > > > b/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THR
> > > > E-a
> > > > nd-TEMT.patch deleted file mode 100644
> > > > index ada44bc..0000000
> > > > ---
> > > > a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THR
> > > > E-a
> > > > nd-TEMT.patch +++ /dev/null
> > > > @@ -1,86 +0,0 @@
> > > > -From: Matthias Schiffer <mschiffer@universe-factory.net>
> > > > -Date: Thu, 24 Mar 2016 18:30:26 +0100
> > > > -Subject: ar71xx: make bootconsole wait for both THRE and TEMT
> > > > -
> > > > -Original commit message:
> > > > -
> > > > -    MIPS: ath79: make bootconsole wait for both THRE and TEMT
> > > > -
> > > > -    This makes the ath79 bootconsole behave the same way as the
> > > > generic
> > > > 8250 -    bootconsole.
> > > > -
> > > > -    Also waiting for TEMT (transmit buffer is empty) instead of just
> > > > THRE
> > > > -    (transmit buffer is not full) ensures that all characters have
> > > > been
> > > > -    transmitted before the real serial driver starts reconfiguring
> > > > the
> > > > serial -    controller (which would sometimes result in garbage being
> > > > transmitted.) -    This change does not cause a visible performance
> > > > loss.
> > > > -
> > > > -    In addition, this seems to fix a hang observed in certain
> > > > configurations on -    many AR7xxx/AR9xxx SoCs during autoconfig of
> > > > the
> > > > real serial driver. -
> > > > -    A more complete follow-up patch will disable 8250 autoconfig for
> > > > ath79
> > > > -    altogether (the serial controller is detected as a 16550A, which
> > > > is
> > > > not -    fully compatible with the ath79 serial, and the autoconfig
> > > > may
> > > > lead to -    undefined behavior on ath79.)
> > > > -
> > > > -diff --git
> > > > a/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wai
> > > > t-f
> > > > or-both-THRE-and-T.patch
> > > > b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wai
> > > > t-f
> > > > or-both-THRE-and-T.patch -new file mode 100644
> > > > -index 0000000..7be14ab
> > > > ---- /dev/null
> > > > -+++
> > > > b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wai
> > > > t-f
> > > > or-both-THRE-and-T.patch -@@ -0,0 +1,54 @@
> > > > -+From f1ba020af5076172c9d29006a747ccf40027fedc Mon Sep 17 00:00:00
> > > > 2001
> > > > -+Message-Id:
> > > > <f1ba020af5076172c9d29006a747ccf40027fedc.1458840219.git.mschiffer@uni
> > > > ver
> > > > se-factory.net> -+From: Matthias Schiffer
> > > > <mschiffer@universe-factory.net>
> > > > -+Date: Thu, 24 Mar 2016 15:34:05 +0100
> > > > -+Subject: [PATCH] MIPS: ath79: make bootconsole wait for both THRE
> > > > and
> > > > TEMT -+
> > > > -+This makes the ath79 bootconsole behave the same way as the generic
> > > > 8250
> > > > -+bootconsole.
> > > > -+
> > > > -+Also waiting for TEMT (transmit buffer is empty) instead of just
> > > > THRE
> > > > -+(transmit buffer is not full) ensures that all characters have been
> > > > -+transmitted before the real serial driver starts reconfiguring the
> > > > serial
> > > > -+controller (which would sometimes result in garbage being
> > > > transmitted.)
> > > > -+This change does not cause a visible performance loss.
> > > > -+
> > > > -+In addition, this seems to fix a hang observed in certain
> > > > configurations
> > > > on -+many AR7xxx/AR9xxx SoCs during autoconfig of the real serial
> > > > driver.
> > > > -+
> > > > -+A more complete follow-up patch will disable 8250 autoconfig for
> > > > ath79
> > > > -+altogether (the serial controller is detected as a 16550A, which is
> > > > not
> > > > -+fully compatible with the ath79 serial, and the autoconfig may lead
> > > > to
> > > > -+undefined behavior on ath79.)
> > > > -+
> > > > -+Cc: <stable@vger.kernel.org>
> > > > -+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
> > > > -+---
> > > > -+ arch/mips/ath79/early_printk.c | 6 ++++--
> > > > -+ 1 file changed, 4 insertions(+), 2 deletions(-)
> > > > -+
> > > > -+diff --git a/arch/mips/ath79/early_printk.c
> > > > b/arch/mips/ath79/early_printk.c -+index b955faf..d1adc59 100644
> > > > -+--- a/arch/mips/ath79/early_printk.c
> > > > -++++ b/arch/mips/ath79/early_printk.c
> > > > -+@@ -31,13 +31,15 @@ static inline void prom_putchar_wait(void
> > > > __iomem
> > > > *reg, u32 mask, u32 val) -+ 	} while (1);
> > > > -+ }
> > > > -+
> > > > -++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
> > > > -++
> > > > -+ static void prom_putchar_ar71xx(unsigned char ch)
> > > > -+ {
> > > > -+ 	void __iomem *base = (void __iomem
> > > > *)(KSEG1ADDR(AR71XX_UART_BASE));
> > > > -+
> > > > -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE,
> > 
> > UART_LSR_THRE);
> > 
> > > > -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> > > > -+ 	__raw_writel(ch, base + UART_TX * 4);
> > > > -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE,
> > 
> > UART_LSR_THRE);
> > 
> > > > -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> > > > -+ }
> > > > -+
> > > > -+ static void prom_putchar_ar933x(unsigned char ch)
> > > > -+--
> > > > -+2.7.4
> > > > -+
> > > > -
> > > > diff --git a/buildscript b/buildscript
> > > > index 7d7d1e3..de09dbf 100755
> > > > --- a/buildscript
> > > > +++ b/buildscript
> > > > @@ -13,7 +13,7 @@
> > > > 
> > > >  builddir=./build
> > > > 
> > > > -OPENWRTREV="c75367d20240da182fcbdb68c8cce64eabd71ac5"
> > > > +OPENWRTREV="ba0cac08164150e74567787251e44b4d0d0dc140"
> > > > 
> > > >  OPENWRTURL="git://git.openwrt.org/15.05/openwrt.git"
> > > >  PACKAGEREV="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
> > > >  PACKAGEURL="https://github.com/openwrt/packages.git"
Tim Niemeyer April 22, 2016, 5:28 p.m.
Am Freitag, den 22.04.2016, 19:07 +0200 schrieb Tobias Klaus:
> Hey,
> 
> On Freitag, 22. April 2016 18:09:58 CEST Tim Niemeyer wrote:
> > Je länger ich darüber nachdenke, desto eher bin ich der Meinung wir
> > sollten den Patch reverten und auch bei OpenWrt darauf einwirken, dass
> > die das ebenfalls tun.
> > 
> > Entweder _alle_ Namen werden gefixt und angepasst oder keiner. Bisher
> > war es ein Chaos, dass stimmt. Aber der Patch hat das Chaos jetzt
> > eigentlich nur noch deutlich verschlimmert!
> Ich sehe das erstmal nicht so stressig. Erstmal finde ich die Umbenennung 
> richtig und gut. Und lieber ein bisschen Chaos weg als als gar keins.
Sicher ist das gut, aber es ist eben unvollständig und damit nicht
tragbar.

> Falls wir die Umbennenung mitmachen(was ich gut fände), brauchen wir sowieso 
> ein Skript, das sie entsprechenden Symlinks für ein "duales" Release anlegt. 
Genau hier hätten die OpenWrt Leute wissen müssen, dass diese kleine
Änderung massive Probleme bei Verlinkungen oder abgeleiteten Projekten
nach sich zieht. Haben se leider überhaupt nicht beachtet.

> Ob man da später noch ein paar modelle nachzieht oder nicht sollte ja fast 
> egal sein.
Nein, da gehe ich gar nicht mit. Entweder man möchte da aufräumen und
etwas vereinheitlichen oder nicht. In diesem Fall entsteht ein massiver
Aufwand (alleine diese Diskussion hier ist überflüssig). Der Gewinn ist
sehr klein. Und die Arbeit wird dann nochmal auf uns zu kommen, wenn das
nächste Teil umbenannt wird.

> Drittens gibt es wohl auch nur beim WR841 diese Verwirrung wo sie mal ein n 
> mal ein nd genutzt haben(je nachdem welcher als erster auf dem Markt war?) bei 
> allen anderen ist es soweit ich gerade beim drübersehen gesehen habe eh schon 
> einheitlich(pro Board) also mal durchgehen mit n und mal durchgehen mit nd. Da 
> war das Chaos eben wohl nicht so groß.
Es war in unserem Fall nur einer, der ein nd hatte. Durch diesen halben
Patch ändern sich aber die Namen aller Images.

> > > > Was wird denn dann hier raus fallen: "cat /var/sysinfo/board_name" ?
> > > 
> > > Achja, das wollte ich noch zur Antwort an Jan hinzufügen:
> > > das hier steht in nem v10 drin:
> > > cat /var/sysinfo/board_name
> > > tl-wr841n-v9
> > Weil das wohl das selbe Board ist? Deswegen gibt es ja noch das Modell..
> Möchtest du auf die Vereinheitlichung und eine Umbenennung des Boards hinaus? 
Nein. Du schaust dir das Board vom v10 an. Das ist eben ein v9 Board.
Das ist alles korrekt nach der OpenWrt Einstellung.

> v9 trifft es ja tatsächlich nicht mehr. Allerdings verstehe ich hier den 
> Pragmatismus der Openwrt entwickler. "intern" haben  sich ja schon alle dran 
> gewöhnt und es interessiert nur, obs ein neues Board ist oder nicht. Nach 
> "außen" haben sie jetzt halt die Symptome dieses Pragmatismuses und des 
> gewachsenen Chaoses beseitigt. Ich denke wir sollten da so ähnlich handeln...
Was für ein Pragmatismus? Es gibt Boards, das hat eben nichts mit dem
Modell zu tun, wo das Board mal eingebaut wird.

> > > > Wenn sich das ändert müssen wir natürlich nicht nur das Upgrade
> > > > beachten, sondern vor allem die Benamung der network-configs. Bisher
> > > > folgen die "network.tl-wr841nd-v7" Dateien dem Namensschema der Images.
> > > > Sollten wir das nicht auch nachziehen?
> > > 
> > > Soweit ich das bisher sehe nicht.
> > 
> > Naja, ich bin der Meinung wir sollten das möglichst einheitlich machen.
> > Dieses hin und her gewurschtel von OpenWrt kann ich aktuell gar nicht
> > gut heißen!
> Ich versteh die Unzufriedenheit, aber da müssten wir uns entweder näher zu 
> openwrt bewegen, sprich "wichtigere" Entwickler werden, oder halt schauen, 
> dass wir damit klar kommen, was sie so grob vorgeben. Dass ich ihre 
> Entscheidung zumindest grob nachvollziehbar halte hab ich ja schon ausgeführt.
Für mich ist dieser eindeutig halbe Patch nicht nachvollziehbar. Da
wurde ganz offenbar vorschnell gearbeitet.

Ganz abgesehen davon ist das eine absolut unnötige Änderung an OpenWrt,
die in einem Branch der eigentlich stabil sein sollte fehl am Platz ist.
Ich bin weiterhin dagegen auf diese Arbeit aufzubauen und plädiere dafür
den in meinen Augen kaputten Patch bei uns lokal zu reverten. Wir haben
uns extra den OpenWrt CC Branch gewählt, damit wir mit genau so einem
Mist erstmal keine Arbeit haben. Bei einem Wechsel auf eine andere
OpenWrt Version wäre so eine Änderung denkbar, sollte aber dann
natürlich auch einheitlich sein.

Tim

> Grüße
> Tobias
> 
> > Tim
> > 
> > > Grüße
> > > Tobias
> > > 
> > > > Tim
> > > > 
> > > > > * The fix for Nanostation/Picostation is now mainline
> > > > > 
> > > > > Signed-off-by: Tobias Klaus <tk+ff@meskal.net>
> > > > > ---
> > > > > 
> > > > >  bsp/board_ar71xx.bsp                               |  8 +-
> > > > >  ...e-bootconsole-wait-for-both-THRE-and-TEMT.patch | 86
> > > > >  ---------------------- buildscript
> > > > >  
> > > > >   |  2 +-
> > > > >  
> > > > >  3 files changed, 5 insertions(+), 91 deletions(-)
> > > > >  delete mode 100644
> > > > >  build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THRE
> > > > >  -an
> > > > >  d-TEMT.patch>
> > > > > 
> > > > > diff --git a/bsp/board_ar71xx.bsp b/bsp/board_ar71xx.bsp
> > > > > index 4c406ca..ea94acd 100644
> > > > > --- a/bsp/board_ar71xx.bsp
> > > > > +++ b/bsp/board_ar71xx.bsp
> > > > > @@ -6,10 +6,10 @@
> > > > > images=("openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin">
> > > > > 
> > > > >          "openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-sysupgrade.bin"
> > > > >          "openwrt-ar71xx-generic-tl-wr741nd-v2-squashfs-sysupgrade.bin
> > > > >          "
> > > > >          "openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin
> > > > >          "
> > > > > 
> > > > > -       
> > > > > "openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-sysupgrade.bin"
> > > > > -        "openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin"
> > > > > -        "openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-sysupgrade.bin"
> > > > > -       
> > > > > "openwrt-ar71xx-generic-tl-wr841n-v10-squashfs-sysupgrade.bin"
> > > > > +        "openwrt-ar71xx-generic-tl-wr841-v7-squashfs-sysupgrade.bin"
> > > > > +        "openwrt-ar71xx-generic-tl-wr841-v8-squashfs-sysupgrade.bin"
> > > > > +        "openwrt-ar71xx-generic-tl-wr841-v9-squashfs-sysupgrade.bin"
> > > > > +        "openwrt-ar71xx-generic-tl-wr841-v10-squashfs-sysupgrade.bin"
> > > > > 
> > > > >          "openwrt-ar71xx-generic-tl-wr842n-v2-squashfs-sysupgrade.bin"
> > > > >          "openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bi
> > > > >          n"
> > > > >          "openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bi
> > > > >          n"
> > > > > 
> > > > > diff --git
> > > > > a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THR
> > > > > E-a
> > > > > nd-TEMT.patch
> > > > > b/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THR
> > > > > E-a
> > > > > nd-TEMT.patch deleted file mode 100644
> > > > > index ada44bc..0000000
> > > > > ---
> > > > > a/build_patches/openwrt/0005-ar71xx-make-bootconsole-wait-for-both-THR
> > > > > E-a
> > > > > nd-TEMT.patch +++ /dev/null
> > > > > @@ -1,86 +0,0 @@
> > > > > -From: Matthias Schiffer <mschiffer@universe-factory.net>
> > > > > -Date: Thu, 24 Mar 2016 18:30:26 +0100
> > > > > -Subject: ar71xx: make bootconsole wait for both THRE and TEMT
> > > > > -
> > > > > -Original commit message:
> > > > > -
> > > > > -    MIPS: ath79: make bootconsole wait for both THRE and TEMT
> > > > > -
> > > > > -    This makes the ath79 bootconsole behave the same way as the
> > > > > generic
> > > > > 8250 -    bootconsole.
> > > > > -
> > > > > -    Also waiting for TEMT (transmit buffer is empty) instead of just
> > > > > THRE
> > > > > -    (transmit buffer is not full) ensures that all characters have
> > > > > been
> > > > > -    transmitted before the real serial driver starts reconfiguring
> > > > > the
> > > > > serial -    controller (which would sometimes result in garbage being
> > > > > transmitted.) -    This change does not cause a visible performance
> > > > > loss.
> > > > > -
> > > > > -    In addition, this seems to fix a hang observed in certain
> > > > > configurations on -    many AR7xxx/AR9xxx SoCs during autoconfig of
> > > > > the
> > > > > real serial driver. -
> > > > > -    A more complete follow-up patch will disable 8250 autoconfig for
> > > > > ath79
> > > > > -    altogether (the serial controller is detected as a 16550A, which
> > > > > is
> > > > > not -    fully compatible with the ath79 serial, and the autoconfig
> > > > > may
> > > > > lead to -    undefined behavior on ath79.)
> > > > > -
> > > > > -diff --git
> > > > > a/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wai
> > > > > t-f
> > > > > or-both-THRE-and-T.patch
> > > > > b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wai
> > > > > t-f
> > > > > or-both-THRE-and-T.patch -new file mode 100644
> > > > > -index 0000000..7be14ab
> > > > > ---- /dev/null
> > > > > -+++
> > > > > b/target/linux/ar71xx/patches-3.18/103-MIPS-ath79-make-bootconsole-wai
> > > > > t-f
> > > > > or-both-THRE-and-T.patch -@@ -0,0 +1,54 @@
> > > > > -+From f1ba020af5076172c9d29006a747ccf40027fedc Mon Sep 17 00:00:00
> > > > > 2001
> > > > > -+Message-Id:
> > > > > <f1ba020af5076172c9d29006a747ccf40027fedc.1458840219.git.mschiffer@uni
> > > > > ver
> > > > > se-factory.net> -+From: Matthias Schiffer
> > > > > <mschiffer@universe-factory.net>
> > > > > -+Date: Thu, 24 Mar 2016 15:34:05 +0100
> > > > > -+Subject: [PATCH] MIPS: ath79: make bootconsole wait for both THRE
> > > > > and
> > > > > TEMT -+
> > > > > -+This makes the ath79 bootconsole behave the same way as the generic
> > > > > 8250
> > > > > -+bootconsole.
> > > > > -+
> > > > > -+Also waiting for TEMT (transmit buffer is empty) instead of just
> > > > > THRE
> > > > > -+(transmit buffer is not full) ensures that all characters have been
> > > > > -+transmitted before the real serial driver starts reconfiguring the
> > > > > serial
> > > > > -+controller (which would sometimes result in garbage being
> > > > > transmitted.)
> > > > > -+This change does not cause a visible performance loss.
> > > > > -+
> > > > > -+In addition, this seems to fix a hang observed in certain
> > > > > configurations
> > > > > on -+many AR7xxx/AR9xxx SoCs during autoconfig of the real serial
> > > > > driver.
> > > > > -+
> > > > > -+A more complete follow-up patch will disable 8250 autoconfig for
> > > > > ath79
> > > > > -+altogether (the serial controller is detected as a 16550A, which is
> > > > > not
> > > > > -+fully compatible with the ath79 serial, and the autoconfig may lead
> > > > > to
> > > > > -+undefined behavior on ath79.)
> > > > > -+
> > > > > -+Cc: <stable@vger.kernel.org>
> > > > > -+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
> > > > > -+---
> > > > > -+ arch/mips/ath79/early_printk.c | 6 ++++--
> > > > > -+ 1 file changed, 4 insertions(+), 2 deletions(-)
> > > > > -+
> > > > > -+diff --git a/arch/mips/ath79/early_printk.c
> > > > > b/arch/mips/ath79/early_printk.c -+index b955faf..d1adc59 100644
> > > > > -+--- a/arch/mips/ath79/early_printk.c
> > > > > -++++ b/arch/mips/ath79/early_printk.c
> > > > > -+@@ -31,13 +31,15 @@ static inline void prom_putchar_wait(void
> > > > > __iomem
> > > > > *reg, u32 mask, u32 val) -+ 	} while (1);
> > > > > -+ }
> > > > > -+
> > > > > -++#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
> > > > > -++
> > > > > -+ static void prom_putchar_ar71xx(unsigned char ch)
> > > > > -+ {
> > > > > -+ 	void __iomem *base = (void __iomem
> > > > > *)(KSEG1ADDR(AR71XX_UART_BASE));
> > > > > -+
> > > > > -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE,
> > > 
> > > UART_LSR_THRE);
> > > 
> > > > > -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> > > > > -+ 	__raw_writel(ch, base + UART_TX * 4);
> > > > > -+-	prom_putchar_wait(base + UART_LSR * 4, UART_LSR_THRE,
> > > 
> > > UART_LSR_THRE);
> > > 
> > > > > -++	prom_putchar_wait(base + UART_LSR * 4, BOTH_EMPTY, BOTH_EMPTY);
> > > > > -+ }
> > > > > -+
> > > > > -+ static void prom_putchar_ar933x(unsigned char ch)
> > > > > -+--
> > > > > -+2.7.4
> > > > > -+
> > > > > -
> > > > > diff --git a/buildscript b/buildscript
> > > > > index 7d7d1e3..de09dbf 100755
> > > > > --- a/buildscript
> > > > > +++ b/buildscript
> > > > > @@ -13,7 +13,7 @@
> > > > > 
> > > > >  builddir=./build
> > > > > 
> > > > > -OPENWRTREV="c75367d20240da182fcbdb68c8cce64eabd71ac5"
> > > > > +OPENWRTREV="ba0cac08164150e74567787251e44b4d0d0dc140"
> > > > > 
> > > > >  OPENWRTURL="git://git.openwrt.org/15.05/openwrt.git"
> > > > >  PACKAGEREV="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
> > > > >  PACKAGEURL="https://github.com/openwrt/packages.git"
> 
>