[Intel-wired-lan] [next PATCH S82 6/9] i40e: Fix FLR reset timeout issue
Shannon Nelson
shannon.nelson at oracle.com
Fri Nov 3 20:10:32 UTC 2017
On 11/3/2017 4:05 AM, Alice Michael wrote:
> From: Filip Sadowski <filip.sadowski at intel.com>
>
> This patch allows detection of upcoming core reset in case NIC gets
> stuck while performing FLR reset. The i40e_pf_reset() function returns
> I40E_ERR_NOT_READY when global reset was detected.
>
> Signed-off-by: Filip Sadowski <filip.sadowski at intel.com>
> ---
> drivers/net/ethernet/intel/i40e/i40e_common.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
> index 5abc83c..c5ae565 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_common.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
> @@ -1269,6 +1269,7 @@ i40e_status i40e_pf_reset(struct i40e_hw *hw)
> * we don't need to do the PF Reset
> */
> if (!cnt) {
> + u32 reg2 = 0;
> if (hw->revision_id == 0)
> cnt = I40E_PF_RESET_WAIT_COUNT_A0;
> else
> @@ -1280,6 +1281,12 @@ i40e_status i40e_pf_reset(struct i40e_hw *hw)
> reg = rd32(hw, I40E_PFGEN_CTRL);
> if (!(reg & I40E_PFGEN_CTRL_PFSWR_MASK))
> break;
> + reg2 = rd32(hw, I40E_GLGEN_RSTAT);
> + if (reg2 & I40E_GLGEN_RSTAT_DEVSTATE_MASK) {
> + hw_dbg(hw, "Core reset upcoming.\n");
> + hw_dbg(hw, "I40E_GLGEN_RSTAT = 0x%x\n", reg2);
And my first thought at seeing this message would be "so what?" There
needs to be something that says this request is getting skipped.
sln
> + return I40E_ERR_NOT_READY;
> + }
> usleep_range(1000, 2000);
> }
> if (reg & I40E_PFGEN_CTRL_PFSWR_MASK) {
>
More information about the Intel-wired-lan
mailing list