i40e: Move HW flush
authorAkeem G Abodunrin <akeem.g.abodunrin@intel.com>
Fri, 1 Apr 2016 10:56:03 +0000 (03:56 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 7 Apr 2016 01:06:22 +0000 (18:06 -0700)
This patch moves the HW flush routine to the end of the reset flow,
after the completion of writing to the device VFLR registers- the
benefit is to avoid problems in the passthrough routines.

Change-ID: Ieb56866f21895e6c1fc514b7328c3df79807a57c
Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@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_virtchnl_pf.c

index 9924503c88f54025815dc5976eebf675e23d07b6..f2a9c14829ca7f4fdd1da0794dde1b046bc11bf7 100644 (file)
@@ -941,6 +941,7 @@ void i40e_reset_vf(struct i40e_vf *vf, bool flr)
        reg_idx = (hw->func_caps.vf_base_id + vf->vf_id) / 32;
        bit_idx = (hw->func_caps.vf_base_id + vf->vf_id) % 32;
        wr32(hw, I40E_GLGEN_VFLRSTAT(reg_idx), BIT(bit_idx));
+       i40e_flush(hw);
 
        if (i40e_quiesce_vf_pci(vf))
                dev_err(&pf->pdev->dev, "VF %d PCI transactions stuck\n",