i40e: change behavior on PF in response to MDD event
authorCarolyn Wyborny <carolyn.wyborny@intel.com>
Thu, 28 Feb 2019 17:52:48 +0000 (09:52 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 3 May 2019 21:31:16 +0000 (14:31 -0700)
TX MDD events reported on the PF are the result of the
PF misconfiguring a descriptor and not because of "bad actions"
by anything else.  No need to reset now because if it
results in a Tx hang, the Tx hang check will take care of it.

Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index b52a9d5644b84781cdb6b7b2c26b3c29d30ee010..3e15df1d5f52ec4c3ebde19ede43594a9d274629 100644 (file)
@@ -9696,7 +9696,6 @@ static void i40e_handle_mdd_event(struct i40e_pf *pf)
 {
        struct i40e_hw *hw = &pf->hw;
        bool mdd_detected = false;
-       bool pf_mdd_detected = false;
        struct i40e_vf *vf;
        u32 reg;
        int i;
@@ -9742,19 +9741,12 @@ static void i40e_handle_mdd_event(struct i40e_pf *pf)
                reg = rd32(hw, I40E_PF_MDET_TX);
                if (reg & I40E_PF_MDET_TX_VALID_MASK) {
                        wr32(hw, I40E_PF_MDET_TX, 0xFFFF);
-                       dev_info(&pf->pdev->dev, "TX driver issue detected, PF reset issued\n");
-                       pf_mdd_detected = true;
+                       dev_dbg(&pf->pdev->dev, "TX driver issue detected on PF\n");
                }
                reg = rd32(hw, I40E_PF_MDET_RX);
                if (reg & I40E_PF_MDET_RX_VALID_MASK) {
                        wr32(hw, I40E_PF_MDET_RX, 0xFFFF);
-                       dev_info(&pf->pdev->dev, "RX driver issue detected, PF reset issued\n");
-                       pf_mdd_detected = true;
-               }
-               /* Queue belongs to the PF, initiate a reset */
-               if (pf_mdd_detected) {
-                       set_bit(__I40E_PF_RESET_REQUESTED, pf->state);
-                       i40e_service_event_schedule(pf);
+                       dev_dbg(&pf->pdev->dev, "RX driver issue detected on PF\n");
                }
        }