aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShannon Nelson <shannon.nelson@intel.com>2013-12-21 00:44:48 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-01-10 19:30:35 -0500
commitc5c9eb9e78b2237ef81ef8cd83ba63206e266fc8 (patch)
treea788c2429971987e74d3fd0dc0cdff927766c7ff
parent3126dcb7368c152d74cda11a025328853948f9b9 (diff)
i40e: clear qtx_head before enabling Tx queue
Make sure the "new" qtx_head[q] register is cleared before enabling the Tx queue. Change-ID: I0c7a12815e343a5ae68807af172a35d6c6857935 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 65c27cb1e9ec..bc14a85561f8 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -3008,11 +3008,13 @@ static int i40e_vsi_control_tx(struct i40e_vsi *vsi, bool enable)
3008 continue; 3008 continue;
3009 3009
3010 /* turn on/off the queue */ 3010 /* turn on/off the queue */
3011 if (enable) 3011 if (enable) {
3012 wr32(hw, I40E_QTX_HEAD(pf_q), 0);
3012 tx_reg |= I40E_QTX_ENA_QENA_REQ_MASK | 3013 tx_reg |= I40E_QTX_ENA_QENA_REQ_MASK |
3013 I40E_QTX_ENA_QENA_STAT_MASK; 3014 I40E_QTX_ENA_QENA_STAT_MASK;
3014 else 3015 } else {
3015 tx_reg &= ~I40E_QTX_ENA_QENA_REQ_MASK; 3016 tx_reg &= ~I40E_QTX_ENA_QENA_REQ_MASK;
3017 }
3016 3018
3017 wr32(hw, I40E_QTX_ENA(pf_q), tx_reg); 3019 wr32(hw, I40E_QTX_ENA(pf_q), tx_reg);
3018 3020