i40e: Add delay after EMP reset for firmware to recover
This patch adds necessary delay for 4.33 firmware to recover after EMP reset. Without this patch driver occasionally reinitializes structures too quickly to communicate with firmware after EMP reset causing AdminQ to timeout. Signed-off-by: Filip Sadowski <filip.sadowski@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
		
							parent
							
								
									71dc371993
								
							
						
					
					
						commit
						1fa51a650e
					
				| @ -9215,6 +9215,17 @@ static void i40e_rebuild(struct i40e_pf *pf, bool reinit, bool lock_acquired) | ||||
| 	} | ||||
| 	i40e_get_oem_version(&pf->hw); | ||||
| 
 | ||||
| 	if (test_bit(__I40E_EMP_RESET_INTR_RECEIVED, pf->state) && | ||||
| 	    ((hw->aq.fw_maj_ver == 4 && hw->aq.fw_min_ver <= 33) || | ||||
| 	     hw->aq.fw_maj_ver < 4) && hw->mac.type == I40E_MAC_XL710) { | ||||
| 		/* The following delay is necessary for 4.33 firmware and older
 | ||||
| 		 * to recover after EMP reset. 200 ms should suffice but we | ||||
| 		 * put here 300 ms to be sure that FW is ready to operate | ||||
| 		 * after reset. | ||||
| 		 */ | ||||
| 		mdelay(300); | ||||
| 	} | ||||
| 
 | ||||
| 	/* re-verify the eeprom if we just had an EMP reset */ | ||||
| 	if (test_and_clear_bit(__I40E_EMP_RESET_INTR_RECEIVED, pf->state)) | ||||
| 		i40e_verify_eeprom(pf); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user