sh_eth: check sh_eth_cpu_data::cexcr when dumping registers
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Sat, 15 Feb 2020 20:09:35 +0000 (23:09 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Feb 2020 03:44:41 +0000 (19:44 -0800)
When adding the sh_eth_cpu_data::cexcr flag I forgot to add the flag
check to  __sh_eth_get_regs(), causing the non-existing RX packet counter
registers to be considered for dumping on  the R7S72100 SoC (the register
offset sanity check has the final say here)...

Fixes: 4c1d45850d5 ("sh_eth: add sh_eth_cpu_data::cexcr flag")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Tested-by: Chris Brandt <chris.brandt@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/sh_eth.c

index cd1f5842b1310e631fac13123ed755448ff901f9..ae9469c90ae2c7f5a9d38ab3a4b11964e384c2eb 100644 (file)
@@ -2194,8 +2194,10 @@ static size_t __sh_eth_get_regs(struct net_device *ndev, u32 *buf)
        add_reg(FRECR);
        add_reg(TSFRCR);
        add_reg(TLFRCR);
-       add_reg(CERCR);
-       add_reg(CEECR);
+       if (cd->cexcr) {
+               add_reg(CERCR);
+               add_reg(CEECR);
+       }
        add_reg(MAFCR);
        if (cd->rtrate)
                add_reg(RTRATE);