linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] MIPS: Lantiq: Keep ethernet enabled during boot
@ 2017-01-19 13:20 Felix Fietkau
  2017-02-12  8:03 ` John Crispin
  2017-02-13 21:56 ` James Hogan
  0 siblings, 2 replies; 4+ messages in thread
From: Felix Fietkau @ 2017-01-19 13:20 UTC (permalink / raw)
  To: linux-mips; +Cc: ralf, john, hauke.mehrtens

Disabling ethernet during reboot (only to enable it again when the
ethernet driver attaches) can put the chip into a faulty state where it
corrupts the header of all incoming packets.

This happens if packets arrive during the time window where the core is
disabled, and it can be easily reproduced by rebooting while sending a
flood ping to the broadcast address.

Cc: john@phrozen.org
Cc: hauke.mehrtens@lantiq.com
Cc: stable@vger.kernel.org
Fixes: 95135bfa7ead ("MIPS: Lantiq: Deactivate most of the devices by default")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 arch/mips/lantiq/xway/sysctrl.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index 236193b5210b..9a61671c00a7 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -545,7 +545,7 @@ void __init ltq_soc_init(void)
 		clkdev_add_pmu("1a800000.pcie", "msi", 1, 1, PMU1_PCIE2_MSI);
 		clkdev_add_pmu("1a800000.pcie", "pdi", 1, 1, PMU1_PCIE2_PDI);
 		clkdev_add_pmu("1a800000.pcie", "ctl", 1, 1, PMU1_PCIE2_CTL);
-		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH | PMU_PPE_DP);
+		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH | PMU_PPE_DP);
 		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
 		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
 	} else if (of_machine_is_compatible("lantiq,ar10")) {
@@ -553,7 +553,7 @@ void __init ltq_soc_init(void)
 				  ltq_ar10_fpi_hz(), ltq_ar10_pp32_hz());
 		clkdev_add_pmu("1e101000.usb", "ctl", 1, 0, PMU_USB0);
 		clkdev_add_pmu("1e106000.usb", "ctl", 1, 0, PMU_USB1);
-		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH |
+		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH |
 			       PMU_PPE_DP | PMU_PPE_TC);
 		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
 		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
@@ -575,11 +575,11 @@ void __init ltq_soc_init(void)
 		clkdev_add_pmu(NULL, "ahb", 1, 0, PMU_AHBM | PMU_AHBS);
 
 		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
-		clkdev_add_pmu("1e108000.eth", NULL, 1, 0,
+		clkdev_add_pmu("1e108000.eth", NULL, 0, 0,
 				PMU_SWITCH | PMU_PPE_DPLUS | PMU_PPE_DPLUM |
 				PMU_PPE_EMA | PMU_PPE_TC | PMU_PPE_SLL01 |
 				PMU_PPE_QSB | PMU_PPE_TOP);
-		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
+		clkdev_add_pmu("1f203000.rcu", "gphy", 0, 0, PMU_GPHY);
 		clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO);
 		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
 		clkdev_add_pmu("1e116000.mei", "dfe", 1, 0, PMU_DFE);
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] MIPS: Lantiq: Keep ethernet enabled during boot
  2017-01-19 13:20 [PATCH] MIPS: Lantiq: Keep ethernet enabled during boot Felix Fietkau
@ 2017-02-12  8:03 ` John Crispin
  2017-02-13 21:56 ` James Hogan
  1 sibling, 0 replies; 4+ messages in thread
From: John Crispin @ 2017-02-12  8:03 UTC (permalink / raw)
  To: Felix Fietkau, linux-mips; +Cc: ralf, hauke.mehrtens



On 19/01/2017 14:20, Felix Fietkau wrote:
> Disabling ethernet during reboot (only to enable it again when the
> ethernet driver attaches) can put the chip into a faulty state where it
> corrupts the header of all incoming packets.
> 
> This happens if packets arrive during the time window where the core is
> disabled, and it can be easily reproduced by rebooting while sending a
> flood ping to the broadcast address.
> 
> Cc: john@phrozen.org
> Cc: hauke.mehrtens@lantiq.com
> Cc: stable@vger.kernel.org
> Fixes: 95135bfa7ead ("MIPS: Lantiq: Deactivate most of the devices by default")
> Signed-off-by: Felix Fietkau <nbd@nbd.name>

Acked-by: John Crispin <john@phrozen.org>

> ---
>  arch/mips/lantiq/xway/sysctrl.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
> index 236193b5210b..9a61671c00a7 100644
> --- a/arch/mips/lantiq/xway/sysctrl.c
> +++ b/arch/mips/lantiq/xway/sysctrl.c
> @@ -545,7 +545,7 @@ void __init ltq_soc_init(void)
>  		clkdev_add_pmu("1a800000.pcie", "msi", 1, 1, PMU1_PCIE2_MSI);
>  		clkdev_add_pmu("1a800000.pcie", "pdi", 1, 1, PMU1_PCIE2_PDI);
>  		clkdev_add_pmu("1a800000.pcie", "ctl", 1, 1, PMU1_PCIE2_CTL);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH | PMU_PPE_DP);
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH | PMU_PPE_DP);
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
>  		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
>  	} else if (of_machine_is_compatible("lantiq,ar10")) {
> @@ -553,7 +553,7 @@ void __init ltq_soc_init(void)
>  				  ltq_ar10_fpi_hz(), ltq_ar10_pp32_hz());
>  		clkdev_add_pmu("1e101000.usb", "ctl", 1, 0, PMU_USB0);
>  		clkdev_add_pmu("1e106000.usb", "ctl", 1, 0, PMU_USB1);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH |
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH |
>  			       PMU_PPE_DP | PMU_PPE_TC);
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
>  		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
> @@ -575,11 +575,11 @@ void __init ltq_soc_init(void)
>  		clkdev_add_pmu(NULL, "ahb", 1, 0, PMU_AHBM | PMU_AHBS);
>  
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0,
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0,
>  				PMU_SWITCH | PMU_PPE_DPLUS | PMU_PPE_DPLUM |
>  				PMU_PPE_EMA | PMU_PPE_TC | PMU_PPE_SLL01 |
>  				PMU_PPE_QSB | PMU_PPE_TOP);
> -		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
> +		clkdev_add_pmu("1f203000.rcu", "gphy", 0, 0, PMU_GPHY);
>  		clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO);
>  		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
>  		clkdev_add_pmu("1e116000.mei", "dfe", 1, 0, PMU_DFE);
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] MIPS: Lantiq: Keep ethernet enabled during boot
  2017-01-19 13:20 [PATCH] MIPS: Lantiq: Keep ethernet enabled during boot Felix Fietkau
  2017-02-12  8:03 ` John Crispin
@ 2017-02-13 21:56 ` James Hogan
  2017-02-13 21:56   ` James Hogan
  1 sibling, 1 reply; 4+ messages in thread
From: James Hogan @ 2017-02-13 21:56 UTC (permalink / raw)
  To: Felix Fietkau; +Cc: linux-mips, ralf, john, hauke.mehrtens

[-- Attachment #1: Type: text/plain, Size: 2877 bytes --]

On Thu, Jan 19, 2017 at 02:20:09PM +0100, Felix Fietkau wrote:
> Disabling ethernet during reboot (only to enable it again when the
> ethernet driver attaches) can put the chip into a faulty state where it
> corrupts the header of all incoming packets.
> 
> This happens if packets arrive during the time window where the core is
> disabled, and it can be easily reproduced by rebooting while sending a
> flood ping to the broadcast address.
> 
> Cc: john@phrozen.org
> Cc: hauke.mehrtens@lantiq.com
> Cc: stable@vger.kernel.org
> Fixes: 95135bfa7ead ("MIPS: Lantiq: Deactivate most of the devices by default")
> Signed-off-by: Felix Fietkau <nbd@nbd.name>

Applied

Thanks
James

> ---
>  arch/mips/lantiq/xway/sysctrl.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
> index 236193b5210b..9a61671c00a7 100644
> --- a/arch/mips/lantiq/xway/sysctrl.c
> +++ b/arch/mips/lantiq/xway/sysctrl.c
> @@ -545,7 +545,7 @@ void __init ltq_soc_init(void)
>  		clkdev_add_pmu("1a800000.pcie", "msi", 1, 1, PMU1_PCIE2_MSI);
>  		clkdev_add_pmu("1a800000.pcie", "pdi", 1, 1, PMU1_PCIE2_PDI);
>  		clkdev_add_pmu("1a800000.pcie", "ctl", 1, 1, PMU1_PCIE2_CTL);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH | PMU_PPE_DP);
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH | PMU_PPE_DP);
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
>  		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
>  	} else if (of_machine_is_compatible("lantiq,ar10")) {
> @@ -553,7 +553,7 @@ void __init ltq_soc_init(void)
>  				  ltq_ar10_fpi_hz(), ltq_ar10_pp32_hz());
>  		clkdev_add_pmu("1e101000.usb", "ctl", 1, 0, PMU_USB0);
>  		clkdev_add_pmu("1e106000.usb", "ctl", 1, 0, PMU_USB1);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH |
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH |
>  			       PMU_PPE_DP | PMU_PPE_TC);
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
>  		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
> @@ -575,11 +575,11 @@ void __init ltq_soc_init(void)
>  		clkdev_add_pmu(NULL, "ahb", 1, 0, PMU_AHBM | PMU_AHBS);
>  
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0,
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0,
>  				PMU_SWITCH | PMU_PPE_DPLUS | PMU_PPE_DPLUM |
>  				PMU_PPE_EMA | PMU_PPE_TC | PMU_PPE_SLL01 |
>  				PMU_PPE_QSB | PMU_PPE_TOP);
> -		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
> +		clkdev_add_pmu("1f203000.rcu", "gphy", 0, 0, PMU_GPHY);
>  		clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO);
>  		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
>  		clkdev_add_pmu("1e116000.mei", "dfe", 1, 0, PMU_DFE);
> -- 
> 2.11.0
> 
> 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] MIPS: Lantiq: Keep ethernet enabled during boot
  2017-02-13 21:56 ` James Hogan
@ 2017-02-13 21:56   ` James Hogan
  0 siblings, 0 replies; 4+ messages in thread
From: James Hogan @ 2017-02-13 21:56 UTC (permalink / raw)
  To: Felix Fietkau; +Cc: linux-mips, ralf, john, hauke.mehrtens

[-- Attachment #1: Type: text/plain, Size: 2877 bytes --]

On Thu, Jan 19, 2017 at 02:20:09PM +0100, Felix Fietkau wrote:
> Disabling ethernet during reboot (only to enable it again when the
> ethernet driver attaches) can put the chip into a faulty state where it
> corrupts the header of all incoming packets.
> 
> This happens if packets arrive during the time window where the core is
> disabled, and it can be easily reproduced by rebooting while sending a
> flood ping to the broadcast address.
> 
> Cc: john@phrozen.org
> Cc: hauke.mehrtens@lantiq.com
> Cc: stable@vger.kernel.org
> Fixes: 95135bfa7ead ("MIPS: Lantiq: Deactivate most of the devices by default")
> Signed-off-by: Felix Fietkau <nbd@nbd.name>

Applied

Thanks
James

> ---
>  arch/mips/lantiq/xway/sysctrl.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
> index 236193b5210b..9a61671c00a7 100644
> --- a/arch/mips/lantiq/xway/sysctrl.c
> +++ b/arch/mips/lantiq/xway/sysctrl.c
> @@ -545,7 +545,7 @@ void __init ltq_soc_init(void)
>  		clkdev_add_pmu("1a800000.pcie", "msi", 1, 1, PMU1_PCIE2_MSI);
>  		clkdev_add_pmu("1a800000.pcie", "pdi", 1, 1, PMU1_PCIE2_PDI);
>  		clkdev_add_pmu("1a800000.pcie", "ctl", 1, 1, PMU1_PCIE2_CTL);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH | PMU_PPE_DP);
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH | PMU_PPE_DP);
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
>  		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
>  	} else if (of_machine_is_compatible("lantiq,ar10")) {
> @@ -553,7 +553,7 @@ void __init ltq_soc_init(void)
>  				  ltq_ar10_fpi_hz(), ltq_ar10_pp32_hz());
>  		clkdev_add_pmu("1e101000.usb", "ctl", 1, 0, PMU_USB0);
>  		clkdev_add_pmu("1e106000.usb", "ctl", 1, 0, PMU_USB1);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0, PMU_SWITCH |
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0, PMU_SWITCH |
>  			       PMU_PPE_DP | PMU_PPE_TC);
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
>  		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
> @@ -575,11 +575,11 @@ void __init ltq_soc_init(void)
>  		clkdev_add_pmu(NULL, "ahb", 1, 0, PMU_AHBM | PMU_AHBS);
>  
>  		clkdev_add_pmu("1da00000.usif", "NULL", 1, 0, PMU_USIF);
> -		clkdev_add_pmu("1e108000.eth", NULL, 1, 0,
> +		clkdev_add_pmu("1e108000.eth", NULL, 0, 0,
>  				PMU_SWITCH | PMU_PPE_DPLUS | PMU_PPE_DPLUM |
>  				PMU_PPE_EMA | PMU_PPE_TC | PMU_PPE_SLL01 |
>  				PMU_PPE_QSB | PMU_PPE_TOP);
> -		clkdev_add_pmu("1f203000.rcu", "gphy", 1, 0, PMU_GPHY);
> +		clkdev_add_pmu("1f203000.rcu", "gphy", 0, 0, PMU_GPHY);
>  		clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO);
>  		clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
>  		clkdev_add_pmu("1e116000.mei", "dfe", 1, 0, PMU_DFE);
> -- 
> 2.11.0
> 
> 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-02-13 21:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-19 13:20 [PATCH] MIPS: Lantiq: Keep ethernet enabled during boot Felix Fietkau
2017-02-12  8:03 ` John Crispin
2017-02-13 21:56 ` James Hogan
2017-02-13 21:56   ` James Hogan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).