diff options
author | Parikh, Neerav <neerav.parikh@intel.com> | 2015-02-21 01:43:55 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-02-26 07:54:00 -0500 |
commit | 11e4770842d4917b1cad52d901b758a6d1997735 (patch) | |
tree | 76b100745146a9a074d73a29b5356a7a62186d78 /drivers/net/ethernet | |
parent | cd238a3ecf2bf7f3d1a155a32b4bddd87dbd3d23 (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.c | 8 |
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 | |||
5271 | exit: | 5277 | exit: |
5272 | return ret; | 5278 | return ret; |
5273 | } | 5279 | } |