summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Nguyen <anthony.l.nguyen@intel.com>2020-06-24 09:04:22 -0700
committerTony Nguyen <anthony.l.nguyen@intel.com>2020-07-01 14:45:59 -0700
commit9358076642f14cec8c414850d5a909cafca3a9d6 (patch)
tree1082d0eebe058005321f27968be7e01575204221
parent44ea803e2fa7e12adb5d6260da4e4956e784effb (diff)
iavf: Fix updating statistics
Commit bac8486116b0 ("iavf: Refactor the watchdog state machine") inverted the logic for when to update statistics. Statistics should be updated when no other commands are pending, instead they were only requested when a command was processed. iavf_request_stats() would see a pending request and not request statistics to be updated. This caused statistics to never be updated; fix the logic. Fixes: bac8486116b0 ("iavf: Refactor the watchdog state machine") Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
-rw-r--r--drivers/net/ethernet/intel/iavf/iavf_main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index b90ad1abbabb..48c956d90b90 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -1937,7 +1937,10 @@ static void iavf_watchdog_task(struct work_struct *work)
iavf_send_api_ver(adapter);
}
} else {
- if (!iavf_process_aq_command(adapter) &&
+ /* An error will be returned if no commands were
+ * processed; use this opportunity to update stats
+ */
+ if (iavf_process_aq_command(adapter) &&
adapter->state == __IAVF_RUNNING)
iavf_request_stats(adapter);
}