aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/i40evf/i40evf_main.c
diff options
context:
space:
mode:
authorMitch Williams <mitch.a.williams@intel.com>2014-06-04 00:22:41 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-06-26 07:44:59 -0400
commit56f9920a952130a7cd20952b3525bc238a87e489 (patch)
tree760e89d5e73adb596b214ff6c57df1d284e89d57 /drivers/net/ethernet/intel/i40evf/i40evf_main.c
parent3f2ab1721f77935eb4ee50b78c6ecfe24b3a2648 (diff)
i40evf: resend FW request if no response
Sometimes the firmware will not indicate an error but fail to pass a message between the VF and the PF driver. If this happens, just resend the request. This fixes an initialization failure if many VFs are instantiated at the same time and the VF module is autoloaded. Change-ID: Idd1ad8da2fd5137859244685c355941427d317d7 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/i40evf/i40evf_main.c')
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40evf_main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 7138ab483625..8082a9fa5d10 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -2018,6 +2018,10 @@ static void i40evf_init_task(struct work_struct *work)
2018 if (err) { 2018 if (err) {
2019 dev_info(&pdev->dev, "Unable to verify API version (%d), retrying\n", 2019 dev_info(&pdev->dev, "Unable to verify API version (%d), retrying\n",
2020 err); 2020 err);
2021 if (err == I40E_ERR_ADMIN_QUEUE_NO_WORK) {
2022 dev_info(&pdev->dev, "Resending request\n");
2023 err = i40evf_send_api_ver(adapter);
2024 }
2021 goto err; 2025 goto err;
2022 } 2026 }
2023 err = i40evf_send_vf_config_msg(adapter); 2027 err = i40evf_send_vf_config_msg(adapter);