While do PF reset with function i40e_reset_and_rebuild(), it will call i40e_init_pf_fcoe() by default if FCOE is defined, thus if the PF is resetted, FCOE will be enabled whatever it was - enabled or not.
Such bug might be hit when PF resumes from suspend, run diagnostic test with ethtool, setup VLAN etc. Passed building with v3.19-rc3. Signed-off-by: Ethan Zhao <[email protected]> --- drivers/net/ethernet/intel/i40e/i40e_main.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index a5f2660..a2572cc 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -6180,9 +6180,12 @@ static void i40e_reset_and_rebuild(struct i40e_pf *pf, bool reinit) } #endif /* CONFIG_I40E_DCB */ #ifdef I40E_FCOE - ret = i40e_init_pf_fcoe(pf); - if (ret) - dev_info(&pf->pdev->dev, "init_pf_fcoe failed: %d\n", ret); + if (pf->flags & I40E_FLAG_FCOE_ENABLED) { + ret = i40e_init_pf_fcoe(pf); + if (ret) + dev_info(&pf->pdev->dev, + "init_pf_fcoe failed: %d\n", ret); + } #endif /* do basic switch setup */ -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

