bnx2x: vf mark stats started
authorAriel Elior <ariele@broadcom.com>
Tue, 27 Aug 2013 22:13:00 +0000 (01:13 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Aug 2013 02:03:04 +0000 (22:03 -0400)
Solve issue where no stats were being collected for VF devices due to missing
configuration in the stats' atomic synchronization mechanism.

Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c

index d63d1327b051e4a80c76027b03e723c332d0a317..fed9b1543b9f92ef70335076e14781877944f080 100644 (file)
@@ -522,20 +522,16 @@ static void bnx2x_func_stats_init(struct bnx2x *bp)
 /* should be called under stats_sema */
 static void __bnx2x_stats_start(struct bnx2x *bp)
 {
-       /* vfs travel through here as part of the statistics FSM, but no action
-        * is required
-        */
-       if (IS_VF(bp))
-               return;
-
-       if (bp->port.pmf)
-               bnx2x_port_stats_init(bp);
+       if (IS_PF(bp)) {
+               if (bp->port.pmf)
+                       bnx2x_port_stats_init(bp);
 
-       else if (bp->func_stx)
-               bnx2x_func_stats_init(bp);
+               else if (bp->func_stx)
+                       bnx2x_func_stats_init(bp);
 
-       bnx2x_hw_stats_post(bp);
-       bnx2x_storm_stats_post(bp);
+               bnx2x_hw_stats_post(bp);
+               bnx2x_storm_stats_post(bp);
+       }
 
        bp->stats_started = true;
 }