Skip to content

Commit

Permalink
i40e/i40evf: set AQ count after memory allocation
Browse files Browse the repository at this point in the history
The standard way to check if the AQ is enabled is to look at the
count field. So we should only set this field after we have
successfully allocated memory. To do otherwise is to incite
panic among the populace.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Mitch Williams authored and David S. Miller committed Oct 7, 2015
1 parent 855591d commit 90d2c05
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions drivers/net/ethernet/intel/i40e/i40e_adminq.c
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,6 @@ static i40e_status i40e_init_asq(struct i40e_hw *hw)

hw->aq.asq.next_to_use = 0;
hw->aq.asq.next_to_clean = 0;
hw->aq.asq.count = hw->aq.num_asq_entries;

/* allocate the ring memory */
ret_code = i40e_alloc_adminq_asq_ring(hw);
Expand All @@ -404,6 +403,7 @@ static i40e_status i40e_init_asq(struct i40e_hw *hw)
goto init_adminq_free_rings;

/* success! */
hw->aq.asq.count = hw->aq.num_asq_entries;
goto init_adminq_exit;

init_adminq_free_rings:
Expand Down Expand Up @@ -445,7 +445,6 @@ static i40e_status i40e_init_arq(struct i40e_hw *hw)

hw->aq.arq.next_to_use = 0;
hw->aq.arq.next_to_clean = 0;
hw->aq.arq.count = hw->aq.num_arq_entries;

/* allocate the ring memory */
ret_code = i40e_alloc_adminq_arq_ring(hw);
Expand All @@ -463,6 +462,7 @@ static i40e_status i40e_init_arq(struct i40e_hw *hw)
goto init_adminq_free_rings;

/* success! */
hw->aq.arq.count = hw->aq.num_arq_entries;
goto init_adminq_exit;

init_adminq_free_rings:
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/intel/i40evf/i40e_adminq.c
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,6 @@ static i40e_status i40e_init_asq(struct i40e_hw *hw)

hw->aq.asq.next_to_use = 0;
hw->aq.asq.next_to_clean = 0;
hw->aq.asq.count = hw->aq.num_asq_entries;

/* allocate the ring memory */
ret_code = i40e_alloc_adminq_asq_ring(hw);
Expand All @@ -391,6 +390,7 @@ static i40e_status i40e_init_asq(struct i40e_hw *hw)
goto init_adminq_free_rings;

/* success! */
hw->aq.asq.count = hw->aq.num_asq_entries;
goto init_adminq_exit;

init_adminq_free_rings:
Expand Down Expand Up @@ -432,7 +432,6 @@ static i40e_status i40e_init_arq(struct i40e_hw *hw)

hw->aq.arq.next_to_use = 0;
hw->aq.arq.next_to_clean = 0;
hw->aq.arq.count = hw->aq.num_arq_entries;

/* allocate the ring memory */
ret_code = i40e_alloc_adminq_arq_ring(hw);
Expand All @@ -450,6 +449,7 @@ static i40e_status i40e_init_arq(struct i40e_hw *hw)
goto init_adminq_free_rings;

/* success! */
hw->aq.arq.count = hw->aq.num_arq_entries;
goto init_adminq_exit;

init_adminq_free_rings:
Expand Down

0 comments on commit 90d2c05

Please sign in to comment.