ixgbe: fix 82598 SFP initialization after driver load.
authorDon Skidmore <donald.c.skidmore@intel.com>
Wed, 27 May 2009 03:40:47 +0000 (20:40 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 May 2009 03:40:47 +0000 (20:40 -0700)
commit8ca783ab78e3fa518885c4fef93d0972e450a4de
treec27b8e00c7114ea68483226898fa60c41227828c
parentf7c86a3252af7f1222f9ebce66f3654ad3aa9ff0
ixgbe: fix 82598 SFP initialization after driver load.

If we loaded the driver with out a SFP module plugged in it would
leave it in a state that make it later unable to link when a module
was plugged in.  This patch corrects that by:

ixgbe_probe() - moving the check for IXGBE_ERR_SFP_NOT_PRESENT from
after get_invariants() to after reset_hw() as now reset_hw() is
where this condition will be indentified.

ixgbe_reset_hw_82598() - Enable this function to now return
IXGBE_ERR_SFP_NOT_PRESENT.

ixgbe_identify_sfp_module_generic() - This where the lack of SFP
module is detected.  Modifications are added to allow a different
return value for modules that just haven't been plugged in yet.

Other functions were updated to allow correct logging.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbe/ixgbe_82598.c
drivers/net/ixgbe/ixgbe_main.c
drivers/net/ixgbe/ixgbe_phy.c