sh_eth: check sh_eth_cpu_data::no_tx_cntrs when dumping registers
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Sat, 15 Feb 2020 20:08:20 +0000 (23:08 +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::no_tx_cntrs flag I forgot to add the
flag check to  __sh_eth_get_regs(), causing the non-existing TX counter
registers to be considered for dumping on the R7S72100 SoC (the register
offset sanity check has the final say here)...

Fixes: ce9134dff6d9 ("sh_eth: add sh_eth_cpu_data::no_tx_cntrs 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 58ca126518a22e3e1748968f05506bdd7e87188a..cd1f5842b1310e631fac13123ed755448ff901f9 100644 (file)
@@ -2184,10 +2184,12 @@ static size_t __sh_eth_get_regs(struct net_device *ndev, u32 *buf)
                add_reg(BCULR);
        add_reg(MAHR);
        add_reg(MALR);
-       add_reg(TROCR);
-       add_reg(CDCR);
-       add_reg(LCCR);
-       add_reg(CNDCR);
+       if (!cd->no_tx_cntrs) {
+               add_reg(TROCR);
+               add_reg(CDCR);
+               add_reg(LCCR);
+               add_reg(CNDCR);
+       }
        add_reg(CEFCR);
        add_reg(FRECR);
        add_reg(TSFRCR);