diff options
author | Bill Hayes <bill.hayes@hp.com> | 2008-02-19 13:24:41 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2008-02-23 23:57:49 -0500 |
commit | 68707acb5b5d4e2b7583cbff0883516afed54d4f (patch) | |
tree | d8878f6e3e94999f9ccf67547e591ad844d85834 /drivers/net/igb | |
parent | cf7822983f21617b805712eec46eb31058508d6a (diff) |
igb: Fix panic with NICs with 1000BASE-SX PHY
This patch eliminates a kernel panic with the igb driver in 2.6.25-rc2 when
running on a Intel 82575 Ethernet controller with a 1000BASE-SX PHY. The
panic does not happen with the 1000BASE-T PHY, only with a SX connection.
Signed-off-by: Bill Hayes <bill.hayes@hp.com>
Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/igb')
-rw-r--r-- | drivers/net/igb/igb_main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index 3480cc72467a..6a1f23092099 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -816,7 +816,8 @@ void igb_reset(struct igb_adapter *adapter) | |||
816 | wr32(E1000_VET, ETHERNET_IEEE_VLAN_TYPE); | 816 | wr32(E1000_VET, ETHERNET_IEEE_VLAN_TYPE); |
817 | 817 | ||
818 | igb_reset_adaptive(&adapter->hw); | 818 | igb_reset_adaptive(&adapter->hw); |
819 | adapter->hw.phy.ops.get_phy_info(&adapter->hw); | 819 | if (adapter->hw.phy.ops.get_phy_info) |
820 | adapter->hw.phy.ops.get_phy_info(&adapter->hw); | ||
820 | } | 821 | } |
821 | 822 | ||
822 | /** | 823 | /** |
@@ -2052,7 +2053,8 @@ static void igb_set_multi(struct net_device *netdev) | |||
2052 | static void igb_update_phy_info(unsigned long data) | 2053 | static void igb_update_phy_info(unsigned long data) |
2053 | { | 2054 | { |
2054 | struct igb_adapter *adapter = (struct igb_adapter *) data; | 2055 | struct igb_adapter *adapter = (struct igb_adapter *) data; |
2055 | adapter->hw.phy.ops.get_phy_info(&adapter->hw); | 2056 | if (adapter->hw.phy.ops.get_phy_info) |
2057 | adapter->hw.phy.ops.get_phy_info(&adapter->hw); | ||
2056 | } | 2058 | } |
2057 | 2059 | ||
2058 | /** | 2060 | /** |