aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorParikh, Neerav <neerav.parikh@intel.com>2015-02-21 01:43:55 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-02-26 07:54:00 -0500
commit11e4770842d4917b1cad52d901b758a6d1997735 (patch)
tree76b100745146a9a074d73a29b5356a7a62186d78 /drivers/net/ethernet
parentcd238a3ecf2bf7f3d1a155a32b4bddd87dbd3d23 (diff)
i40e: Issue a PF reset if Tx queue disable timeout
As part of DCB reconfiguration flow if the Tx queue disable times out then issue a PF reset to do some level of recovery. Change-ID: I7550021c55bff355351c0365e61e1f05fcaff46d Signed-off-by: Neerav Parikh <neerav.parikh@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_main.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index bd4494d727a6..9751465f29c7 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5266,8 +5266,14 @@ static int i40e_handle_lldp_event(struct i40e_pf *pf,
5266 5266
5267 /* Wait for the PF's Tx queues to be disabled */ 5267 /* Wait for the PF's Tx queues to be disabled */
5268 ret = i40e_pf_wait_txq_disabled(pf); 5268 ret = i40e_pf_wait_txq_disabled(pf);
5269 if (!ret) 5269 if (ret) {
5270 /* Schedule PF reset to recover */
5271 set_bit(__I40E_PF_RESET_REQUESTED, &pf->state);
5272 i40e_service_event_schedule(pf);
5273 } else {
5270 i40e_pf_unquiesce_all_vsi(pf); 5274 i40e_pf_unquiesce_all_vsi(pf);
5275 }
5276
5271exit: 5277exit:
5272 return ret; 5278 return ret;
5273} 5279}