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@xxxxxxxxxxx > Cc: hauke.mehrtens@xxxxxxxxxx > Cc: stable@xxxxxxxxxxxxxxx > Fixes: 95135bfa7ead ("MIPS: Lantiq: Deactivate most of the devices by default") > Signed-off-by: Felix Fietkau <nbd@xxxxxxxx> 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:
signature.asc
Description: Digital signature