Commit afef1b0e authored by Scott Feldman's avatar Scott Feldman Committed by Jeff Garzik

[PATCH] fixed stalled stats collection

* Bug fix: In the rare event of a failed command to dump stats,
  stat collection would stop, giving the illusion that traffic
  had stopped.  Fixed by issuing stat dump in watchdog
  regardless of status of previous attempt to dump stats.
parent 34c0ccb2
...@@ -1757,12 +1757,10 @@ e100_watchdog(struct net_device *dev) ...@@ -1757,12 +1757,10 @@ e100_watchdog(struct net_device *dev)
e100_set_multi(dev); e100_set_multi(dev);
} }
} }
/* Update the statistics needed by the upper interface */
/* This should be the last statistic related command
* as it's async. now */
e100_dump_stats_cntrs(bdp);
} }
/* Issue command to dump statistics from device. */
/* Check for command completion on next watchdog timer. */
e100_dump_stats_cntrs(bdp);
wmb(); wmb();
...@@ -2554,6 +2552,7 @@ e100_update_stats(struct e100_private *bdp) ...@@ -2554,6 +2552,7 @@ e100_update_stats(struct e100_private *bdp)
pcmd_complete = e100_cmd_complete_location(bdp); pcmd_complete = e100_cmd_complete_location(bdp);
if (*pcmd_complete != le32_to_cpu(DUMP_RST_STAT_COMPLETED) && if (*pcmd_complete != le32_to_cpu(DUMP_RST_STAT_COMPLETED) &&
*pcmd_complete != le32_to_cpu(DUMP_STAT_COMPLETED)) { *pcmd_complete != le32_to_cpu(DUMP_STAT_COMPLETED)) {
*pcmd_complete = 0;
return false; return false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment