ixgbe: fix detection of SFP+ capable interfaces
authorEmil Tantilov <emil.s.tantilov@intel.com>
Thu, 15 May 2014 07:16:53 +0000 (07:16 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 4 Jun 2014 06:56:16 +0000 (23:56 -0700)
commitd9cd46cd391a132a43cbde7bdac12c16284b618f
treedd4646d953149f2f271b4db31c670e88bcd8525f
parent92ff71b8fe9cd9c673615fc6f3870af7376d7c84
ixgbe: fix detection of SFP+ capable interfaces

In cases where the driver is loaded while there are no SFP+ modules in
the cage the interface was not being detected as SFP capable. To account
for this the driver called identify_sfp in ixgbe_get_settings to make
sure the data is correct. However when there is no SFP+ module in the cage
the driver waits for the I2C reads to time out which can take more than a
second and will cause issues with tools (like net-snmp) that may poll
for that information.

This patch resolves the issue by identifying interfaces with no PHY
type set as SFP capable which allows the driver to detect the SFP module
when the interface is brought up. As result of this we can also remove the
identify_sfp call from ixgbe_get_settings.

v2: remove the 82599 specific check since we have 82598 devices that are SFP
capable.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c