|
@@ -12524,10 +12524,12 @@ static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev,
|
|
|
{
|
|
|
struct tg3 *tp = netdev_priv(dev);
|
|
|
|
|
|
- if (!tp->hw_stats)
|
|
|
+ spin_lock_bh(&tp->lock);
|
|
|
+ if (!tp->hw_stats) {
|
|
|
+ spin_unlock_bh(&tp->lock);
|
|
|
return &tp->net_stats_prev;
|
|
|
+ }
|
|
|
|
|
|
- spin_lock_bh(&tp->lock);
|
|
|
tg3_get_nstats(tp, stats);
|
|
|
spin_unlock_bh(&tp->lock);
|
|
|
|