Thread (12 messages) 12 messages, 4 authors, 2013-07-16

Re: [PATCH net 1/6] bnx2x: properly initialize statistic counters

flat view

From: Dmitry Kravkov <hidden>
Date: 2013-07-16 18:14:37

On Tue, Jul 16, 2013 at 7:24 PM, Joe Perches [off-list ref] wrote:
On Tue, 2013-07-16 at 18:21 +0300, Dmitry Kravkov wrote:
quoted
This prevent second statistics query be sent before first one is complete.
This is required since two outstanding queries may cause FW assert.
Please run sparse on your code before submitting patches.
quoted
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c
[]
quoted
@@ -1591,10 +1591,16 @@ void bnx2x_stats_init(struct bnx2x *bp)
 {
      int /*abs*/port = BP_PORT(bp);
      int mb_idx = BP_FW_MB_IDX(bp);
+     __le16 init_fw_counter = le16_to_cpu(0xFFFF);
        __le16 init_fw_counter = cpu_to_le16(0xffff);
Thanks Joe,  for catching this
quoted
+     struct stats_counter *counters = &bp->fw_stats_data->storm_counters;

      bp->stats_pending = 0;
      bp->executer_idx = 0;
      bp->stats_counter = 0;
+     counters->xstats_counter = init_fw_counter;
+     counters->tstats_counter = init_fw_counter;
+     counters->ustats_counter = init_fw_counter;
+     counters->cstats_counter = init_fw_counter;
It might be better to remove init_fw_counter from
stack and use a #define or just use cpu_to_le16(0xffff)
in each init.
I'm not feel well for using same value in each init, probably is better to use
multiple assignment like this:
    counters->xstats_counter =
        counters->tstats_counter =
        counters->ustats_counter =
        counters->cstats_counter = cpu_to_le16(0xffff);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help