i40e/i40evf: assure clean asq status report
authorShannon Nelson <shannon.nelson@intel.com>
Wed, 26 Aug 2015 19:14:14 +0000 (15:14 -0400)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 7 Oct 2015 20:59:02 +0000 (13:59 -0700)
There was a possibility where the asq_last_status could get through without
update and thus report a previous error.  I don't think we've actually seen
this happen, but this patch will help make sure it doesn't.

Change-ID: I9e33927052a5ee6ea21f80b66d4c4b76c2760b17
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Christopher Pau <christopher.pau@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_adminq.c
drivers/net/ethernet/intel/i40evf/i40e_adminq.c

index 34a64e05c55cb0e1e731d94b49164138ae04087e..287cb8def7cdfe5c9ec0991fff33f14ff86d5153 100644 (file)
@@ -756,6 +756,8 @@ i40e_status i40e_asq_send_command(struct i40e_hw *hw,
                goto asq_send_command_error;
        }
 
+       hw->aq.asq_last_status = I40E_AQ_RC_OK;
+
        val = rd32(hw, hw->aq.asq.head);
        if (val >= hw->aq.num_asq_entries) {
                i40e_debug(hw, I40E_DEBUG_AQ_MESSAGE,
index c7f59e002cb67557c35d0527c4381c285372a0ad..c5cf886cdd08b6516bc3cddd970b0432d8b15f9a 100644 (file)
@@ -696,6 +696,8 @@ i40e_status i40evf_asq_send_command(struct i40e_hw *hw,
                goto asq_send_command_error;
        }
 
+       hw->aq.asq_last_status = I40E_AQ_RC_OK;
+
        val = rd32(hw, hw->aq.asq.head);
        if (val >= hw->aq.num_asq_entries) {
                i40e_debug(hw, I40E_DEBUG_AQ_MESSAGE,