OSDN Git Service

net: dsa: mv88e6xxx: Fix u64 statistics
authorAndrew Lunn <andrew@lunn.ch>
Thu, 28 Feb 2019 17:14:03 +0000 (18:14 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Feb 2019 20:53:02 +0000 (12:53 -0800)
The switch maintains u64 counters for the number of octets sent and
received. These are kept as two u32's which need to be combined.  Fix
the combing, which wrongly worked on u16's.

Fixes: 80c4627b2719 ("dsa: mv88x6xxx: Refactor getting a single statistic")
Reported-by: Chris Healy <Chris.Healy@zii.aero>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/chip.c

index 12fd7ce..9d36d2b 100644 (file)
@@ -896,7 +896,7 @@ static uint64_t _mv88e6xxx_get_ethtool_stat(struct mv88e6xxx_chip *chip,
        default:
                return U64_MAX;
        }
-       value = (((u64)high) << 16) | low;
+       value = (((u64)high) << 32) | low;
        return value;
 }