be2net: Fix Lancer statistics
authorPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Wed, 25 Apr 2012 01:46:52 +0000 (01:46 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Apr 2012 09:03:31 +0000 (05:03 -0400)
Fix port num sent in command to get stats. Also skip unnecessary
parsing of stats for Lancer.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be_cmds.c
drivers/net/ethernet/emulex/benet/be_main.c

index 3ba4aed..4e07e58 100644 (file)
@@ -1221,7 +1221,7 @@ int lancer_cmd_get_pport_stats(struct be_adapter *adapter,
                        OPCODE_ETH_GET_PPORT_STATS, nonemb_cmd->size, wrb,
                        nonemb_cmd);
 
-       req->cmd_params.params.pport_num = cpu_to_le16(adapter->port_num);
+       req->cmd_params.params.pport_num = cpu_to_le16(adapter->hba_port_num);
        req->cmd_params.params.reset_stats = 0;
 
        be_mcc_notify(adapter);
index 9d42fab..8bc9e12 100644 (file)
@@ -421,6 +421,9 @@ void be_parse_stats(struct be_adapter *adapter)
                populate_be2_stats(adapter);
        }
 
+       if (lancer_chip(adapter))
+               goto done;
+
        /* as erx_v1 is longer than v0, ok to use v1 defn for v0 access */
        for_all_rx_queues(adapter, rxo, i) {
                /* below erx HW counter can actually wrap around after
@@ -429,6 +432,8 @@ void be_parse_stats(struct be_adapter *adapter)
                accumulate_16bit_val(&rx_stats(rxo)->rx_drops_no_frags,
                                (u16)erx->rx_drops_no_fragments[rxo->q.id]);
        }
+done:
+       return;
 }
 
 static struct rtnl_link_stats64 *be_get_stats64(struct net_device *netdev,