| From foo@baz Mon Dec 18 15:03:25 CET 2017 |
| From: Doug Berger <opendmb@gmail.com> |
| Date: Thu, 9 Mar 2017 16:58:44 -0800 |
| Subject: net: bcmgenet: correct MIB access of UniMAC RUNT counters |
| |
| From: Doug Berger <opendmb@gmail.com> |
| |
| |
| [ Upstream commit 1ad3d225e5a40ca6c586989b4baaca710544c15a ] |
| |
| The gap between the Tx status counters and the Rx RUNT counters is now |
| being added to allow correct reporting of the registers. |
| |
| Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") |
| Signed-off-by: Doug Berger <opendmb@gmail.com> |
| Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/broadcom/genet/bcmgenet.c | 11 +++++++---- |
| 1 file changed, 7 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| @@ -705,13 +705,16 @@ static void bcmgenet_update_mib_counters |
| switch (s->type) { |
| case BCMGENET_STAT_NETDEV: |
| continue; |
| - case BCMGENET_STAT_MIB_RX: |
| - case BCMGENET_STAT_MIB_TX: |
| case BCMGENET_STAT_RUNT: |
| - if (s->type != BCMGENET_STAT_MIB_RX) |
| - offset = BCMGENET_STAT_OFFSET; |
| + offset += BCMGENET_STAT_OFFSET; |
| + /* fall through */ |
| + case BCMGENET_STAT_MIB_TX: |
| + offset += BCMGENET_STAT_OFFSET; |
| + /* fall through */ |
| + case BCMGENET_STAT_MIB_RX: |
| val = bcmgenet_umac_readl(priv, |
| UMAC_MIB_START + j + offset); |
| + offset = 0; /* Reset Offset */ |
| break; |
| case BCMGENET_STAT_MISC: |
| if (GENET_IS_V1(priv)) { |