i40e: remove redundant AQ enable
authorKamil Krawczyk <[email protected]>
Wed, 18 Dec 2013 13:45:46 +0000 (13:45 +0000)
committerJeff Kirsher <[email protected]>
Wed, 8 Jan 2014 05:50:12 +0000 (21:50 -0800)
The admin queue length register is updated in
config_a<sq|rq>_regs functions.  We should not update it again,
as we will trigger firmware to init the AQ again. In this case
firmware will lose the information about the AQ Rx tail position
and will see Rx queue as full (no free desc for FW to use).

Signed-off-by: Kamil Krawczyk <[email protected]>
Signed-off-by: Jesse Brandeburg <[email protected]>
Tested-by: Kavindya Deegala <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
drivers/net/ethernet/intel/i40e/i40e_adminq.c

index 18a768f39d461b33b0082d145adb4769fd076a18..c87dc15372c5a37bf794318c02717aaa77c070fb 100644 (file)
@@ -957,20 +957,14 @@ clean_arq_element_out:
 
 static void i40e_resume_aq(struct i40e_hw *hw)
 {
-       u32 reg = 0;
-
        /* Registers are reset after PF reset */
        hw->aq.asq.next_to_use = 0;
        hw->aq.asq.next_to_clean = 0;
 
        i40e_config_asq_regs(hw);
-       reg = hw->aq.num_asq_entries | I40E_PF_ATQLEN_ATQENABLE_MASK;
-       wr32(hw, hw->aq.asq.len, reg);
 
        hw->aq.arq.next_to_use = 0;
        hw->aq.arq.next_to_clean = 0;
 
        i40e_config_arq_regs(hw);
-       reg = hw->aq.num_arq_entries | I40E_PF_ATQLEN_ATQENABLE_MASK;
-       wr32(hw, hw->aq.arq.len, reg);
 }