i40evf: make early init sequence even more robust
authorMitch Williams <mitch.a.williams@intel.com>
Thu, 13 Nov 2014 03:06:12 +0000 (03:06 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 6 Dec 2014 12:13:40 +0000 (04:13 -0800)
commit906a6937d81516d50fd0f059c1805447556f7384
treeba27cdee995b3520b0ece0aaad3e87a63f7806fa
parentfad177dc8ba9f6a0f378a73da423cb28425e8756
i40evf: make early init sequence even more robust

When multiple VFs attempt to initialize simultaneously, the firmware may
delay or drop messages. Make the init code more adept at handling these
situations by a) reinitializing the admin queue if the firmware fails to
process a request, and b) resending a request if the PF doesn't answer.

Once the request has been sent again, the PF might end up getting both
requests and send the configuration information to the driver twice.
This will cause the VF to complain about receiving an unexpected message
from the PF. Since this is not fatal, reduce the warning level of the
log messages that are generated in response to this event.

Change-ID: I9370a1a2fde2ad3934fa25ccfd0545edfbbb4805
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Jim Young <jamesx.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40evf/i40evf_main.c
drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c