linux/drivers/net/ethernet/intel/i40e
Jesse Brandeburg a72a5abcb3 i40e: fix bug in return from get_link_status and avoid spurious link messages
Previously, the driver could call this function and have only true/false
returned, but false could mean multiple things like failure to read
or link was down. This change allows the caller to get all return values
in the call chain bubbled back to the source, which keeps information about
failures from being lost.

Also, in some unlikely scenarios, the firmware can become slow to respond
to admin queue (AQ) queries for link state.  Should the AQ time out,
the driver can detect the state and avoid a link change when there
may have been none.

Change-ID: Ib2ac38407b7880750fb891b392fa77457fe6c21c
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-10-07 14:23:09 -07:00
..
i40e_adminq_cmd.h i40e: fix bad CEE status shift value 2015-10-07 13:48:07 -07:00
i40e_adminq.c i40e/i40evf: assure clean asq status report 2015-10-07 13:59:02 -07:00
i40e_adminq.h i40e/i40evf: fix a potential type compare issue 2015-10-07 13:38:11 -07:00
i40e_alloc.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_common.c i40e: fix bug in return from get_link_status and avoid spurious link messages 2015-10-07 14:23:09 -07:00
i40e_dcb_nl.c i40e/i40evf: give up the __func__ 2015-10-07 14:11:24 -07:00
i40e_dcb.c i40e/i40evf: Cache the CEE TLV status returned from firmware 2015-08-26 15:12:16 -07:00
i40e_dcb.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_debugfs.c i40e: fix kbuild warnings 2015-09-30 05:45:23 -07:00
i40e_diag.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_diag.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_ethtool.c i40e: fix bug in return from get_link_status and avoid spurious link messages 2015-10-07 14:23:09 -07:00
i40e_fcoe.c i40e: make i40e_init_pf_fcoe to void 2015-10-07 13:55:22 -07:00
i40e_fcoe.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_hmc.c i40e: clean up unneeded gotos 2015-07-23 05:15:26 -07:00
i40e_hmc.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_main.c i40e: fix bug in return from get_link_status and avoid spurious link messages 2015-10-07 14:23:09 -07:00
i40e_nvm.c i40e: add little endian conversion for checksum 2015-10-07 14:18:53 -07:00
i40e_osdep.h i40e: adds FCoE configure option 2015-01-14 16:48:39 -05:00
i40e_prototype.h i40e: fix bug in return from get_link_status and avoid spurious link messages 2015-10-07 14:23:09 -07:00
i40e_ptp.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_register.h i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag 2015-08-26 15:09:54 -07:00
i40e_status.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_txrx.c i40e: Use numa_mem_id() to better support memoryless node 2015-10-03 18:49:27 -07:00
i40e_txrx.h i40e: fix 32 bit build warnings 2015-09-30 05:47:48 -07:00
i40e_type.h i40e/i40evf: add driver support for new device ids 2015-10-07 13:34:09 -07:00
i40e_virtchnl_pf.c i40e: stop VF rings 2015-10-07 13:31:20 -07:00
i40e_virtchnl_pf.h i40e: support virtual channel API 1.1 2015-07-23 05:22:26 -07:00
i40e_virtchnl.h i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag 2015-08-26 15:09:54 -07:00
i40e.h i40e: Fix for truncated interrupt name 2015-10-07 14:00:00 -07:00
Makefile i40e: Strip configfs code 2015-03-07 07:01:06 -08:00