Commit a7da7f16 authored by Carolyn Wyborny's avatar Carolyn Wyborny Committed by Jeff Kirsher

i40e: Fix for allowing too many MDD events on VF

This patch changes the driver behavior when detecting a VF MDD event.
It now disables the VF after one event, which indicates a hw detected
problem in the VF.  Before this change, the PF would allow a couple of
events before doing the reset.
Signed-off-by: default avatarCarolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 8ef988b9
...@@ -9767,6 +9767,9 @@ static void i40e_handle_mdd_event(struct i40e_pf *pf) ...@@ -9767,6 +9767,9 @@ static void i40e_handle_mdd_event(struct i40e_pf *pf)
vf->num_mdd_events++; vf->num_mdd_events++;
dev_info(&pf->pdev->dev, "TX driver issue detected on VF %d\n", dev_info(&pf->pdev->dev, "TX driver issue detected on VF %d\n",
i); i);
dev_info(&pf->pdev->dev,
"Use PF Control I/F to re-enable the VF\n");
set_bit(I40E_VF_STATE_DISABLED, &vf->vf_states);
} }
reg = rd32(hw, I40E_VP_MDET_RX(i)); reg = rd32(hw, I40E_VP_MDET_RX(i));
...@@ -9775,11 +9778,6 @@ static void i40e_handle_mdd_event(struct i40e_pf *pf) ...@@ -9775,11 +9778,6 @@ static void i40e_handle_mdd_event(struct i40e_pf *pf)
vf->num_mdd_events++; vf->num_mdd_events++;
dev_info(&pf->pdev->dev, "RX driver issue detected on VF %d\n", dev_info(&pf->pdev->dev, "RX driver issue detected on VF %d\n",
i); i);
}
if (vf->num_mdd_events > I40E_DEFAULT_NUM_MDD_EVENTS_ALLOWED) {
dev_info(&pf->pdev->dev,
"Too many MDD events on VF %d, disabled\n", i);
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"Use PF Control I/F to re-enable the VF\n"); "Use PF Control I/F to re-enable the VF\n");
set_bit(I40E_VF_STATE_DISABLED, &vf->vf_states); set_bit(I40E_VF_STATE_DISABLED, &vf->vf_states);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment