summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel/fm10k/fm10k.h
diff options
context:
space:
mode:
authorJacob Keller <jacob.e.keller@intel.com>2016-04-02 02:17:33 +0300
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2016-04-21 09:06:22 +0300
commita7a7783adabc3cc7599f7dbf97fcc3b0d44087b7 (patch)
tree49eb6a052470059213ab44d000a1f8aca4490772 /drivers/net/ethernet/intel/fm10k/fm10k.h
parent8998763a7b57583ef2e07f68ea6a7d05bcfc1cfa (diff)
downloadlinux-a7a7783adabc3cc7599f7dbf97fcc3b0d44087b7.tar.xz
fm10k: correctly handle LPORT_MAP error
Currently, any error responses from the switch manager after an LPORT_MAP request are silently ignored. At most the mailbox message will be reported as an error. This can result in unexpected behavior when the switch manager has configured a port with zero bandwidth. Add support for reading the fm10k_swapi_error structure from LPORT_MAP responses. If the message contains the necessary TLV and has a non-zero error code, report link down, clear the dglort_map, and delay the next get_host_state call by a reasonable delay. Also log an error message indicating that the LPORT_MAP request failed. The delay ensures preventing an interrupt storm on the switch manager, and reduces the number of mailbox messages we send in this scenario drastically. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Krishneil Singh <Krishneil.k.singh@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/fm10k/fm10k.h')
-rw-r--r--drivers/net/ethernet/intel/fm10k/fm10k.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k.h b/drivers/net/ethernet/intel/fm10k/fm10k.h
index c21fa8699fc4..5efae40698cc 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k.h
+++ b/drivers/net/ethernet/intel/fm10k/fm10k.h
@@ -330,6 +330,7 @@ struct fm10k_intfc {
unsigned long last_reset;
unsigned long link_down_event;
bool host_ready;
+ bool lport_map_failed;
u32 reta[FM10K_RETA_SIZE];
u32 rssrk[FM10K_RSSRK_SIZE];