| From 422eb8ca1cf454af0501e2b897f97e0a9b3f641a Mon Sep 17 00:00:00 2001 |
| From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Date: Wed, 8 Jan 2020 23:42:42 +0300 |
| Subject: [PATCH] sh_eth: check sh_eth_cpu_data::dual_port when dumping |
| registers |
| |
| commit 3249b1e442a1be1a6b9f1026785b519d1443f807 upstream. |
| |
| When adding the sh_eth_cpu_data::dual_port flag I forgot to add the flag |
| checks to __sh_eth_get_regs(), causing the non-existing TSU registers to |
| be dumped by 'ethtool' on the single port Ether controllers having TSU... |
| |
| Fixes: a94cf2a614f8 ("sh_eth: fix TSU init on SH7734/R8A7740") |
| Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c |
| index 7ba35a0bdb29..8aa1b1bda96d 100644 |
| --- a/drivers/net/ethernet/renesas/sh_eth.c |
| +++ b/drivers/net/ethernet/renesas/sh_eth.c |
| @@ -2204,24 +2204,28 @@ static size_t __sh_eth_get_regs(struct net_device *ndev, u32 *buf) |
| if (cd->tsu) { |
| add_tsu_reg(ARSTR); |
| add_tsu_reg(TSU_CTRST); |
| - add_tsu_reg(TSU_FWEN0); |
| - add_tsu_reg(TSU_FWEN1); |
| - add_tsu_reg(TSU_FCM); |
| - add_tsu_reg(TSU_BSYSL0); |
| - add_tsu_reg(TSU_BSYSL1); |
| - add_tsu_reg(TSU_PRISL0); |
| - add_tsu_reg(TSU_PRISL1); |
| - add_tsu_reg(TSU_FWSL0); |
| - add_tsu_reg(TSU_FWSL1); |
| + if (cd->dual_port) { |
| + add_tsu_reg(TSU_FWEN0); |
| + add_tsu_reg(TSU_FWEN1); |
| + add_tsu_reg(TSU_FCM); |
| + add_tsu_reg(TSU_BSYSL0); |
| + add_tsu_reg(TSU_BSYSL1); |
| + add_tsu_reg(TSU_PRISL0); |
| + add_tsu_reg(TSU_PRISL1); |
| + add_tsu_reg(TSU_FWSL0); |
| + add_tsu_reg(TSU_FWSL1); |
| + } |
| add_tsu_reg(TSU_FWSLC); |
| - add_tsu_reg(TSU_QTAGM0); |
| - add_tsu_reg(TSU_QTAGM1); |
| - add_tsu_reg(TSU_FWSR); |
| - add_tsu_reg(TSU_FWINMK); |
| - add_tsu_reg(TSU_ADQT0); |
| - add_tsu_reg(TSU_ADQT1); |
| - add_tsu_reg(TSU_VTAG0); |
| - add_tsu_reg(TSU_VTAG1); |
| + if (cd->dual_port) { |
| + add_tsu_reg(TSU_QTAGM0); |
| + add_tsu_reg(TSU_QTAGM1); |
| + add_tsu_reg(TSU_FWSR); |
| + add_tsu_reg(TSU_FWINMK); |
| + add_tsu_reg(TSU_ADQT0); |
| + add_tsu_reg(TSU_ADQT1); |
| + add_tsu_reg(TSU_VTAG0); |
| + add_tsu_reg(TSU_VTAG1); |
| + } |
| add_tsu_reg(TSU_ADSBSY); |
| add_tsu_reg(TSU_TEN); |
| add_tsu_reg(TSU_POST1); |
| -- |
| 2.7.4 |
| |