• Florian Fainelli's avatar
    net: systemport: Fix 64-bit statistics dependency · 8ecb1a29
    Florian Fainelli authored
    There are several problems with commit 10377ba7 ("net: systemport:
    Support 64bit statistics", first one got fixed in 7095c973 ("net:
    systemport: Fix 64-bit stats deadlock").
    
    The second problem is that this specific code updates the
    stats64.tx_{packets,bytes} from ndo_get_stats64() and that is what we
    are returning to ethtool -S. If we are not running a tool that involves
    calling ndo_get_stats64(), then we won't get updated ethtool stats.
    
    The solution to this is to update the stats from both call sites,
    factoring that into a specific function, While at it, don't just check
    the sizeof() but also the type of the statistics in order to use the
    64-bit stats seqlock.
    
    Fixes: 10377ba7 ("net: systemport: Support 64bit statistics")
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8ecb1a29
bcmsysport.c 63.4 KB