From 35f67c6aafcb43e3e0fa464253449f1c9e41084f Mon Sep 17 00:00:00 2001 From: Dmitry Kravkov Date: Sun, 13 Nov 2011 04:34:30 +0000 Subject: [PATCH] --- yaml --- r: 277518 b: refs/heads/master c: 4a025f49d3f2f2f39b474af360c81a5587b41657 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b01fc92de712..be8444351322 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8304859adc213df9f69a86e06164683f76cd5d49 +refs/heads/master: 4a025f49d3f2f2f39b474af360c81a5587b41657 diff --git a/trunk/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c b/trunk/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c index 02ac6a771bf9..3034f0e31938 100644 --- a/trunk/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c +++ b/trunk/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c @@ -1349,12 +1349,14 @@ void bnx2x_stats_handle(struct bnx2x *bp, enum bnx2x_stats_event event) enum bnx2x_stats_state state; if (unlikely(bp->panic)) return; - bnx2x_stats_stm[bp->stats_state][event].action(bp); + spin_lock_bh(&bp->stats_lock); state = bp->stats_state; bp->stats_state = bnx2x_stats_stm[state][event].next_state; spin_unlock_bh(&bp->stats_lock); + bnx2x_stats_stm[state][event].action(bp); + if ((event != STATS_EVENT_UPDATE) || netif_msg_timer(bp)) DP(BNX2X_MSG_STATS, "state %d -> event %d -> state %d\n", state, event, bp->stats_state);