aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_hw.c
diff options
context:
space:
mode:
authorJeff Kirsher <jeffrey.t.kirsher@intel.com>2006-03-02 18:18:20 -0800
committerroot <root@jk-desktop.jf.intel.com>2006-03-02 18:18:20 -0800
commit497fce5e72a21f45929a786bf416ac03cbe09e2f (patch)
tree42bd95fd55ab01df751151f967c89e99bc19c7a4 /drivers/net/e1000/e1000_hw.c
parente1000: Fix dhcp issue when the skb structure fields are not filled properly (diff)
downloadlinux-dev-497fce5e72a21f45929a786bf416ac03cbe09e2f.tar.xz
linux-dev-497fce5e72a21f45929a786bf416ac03cbe09e2f.zip
e1000: Fix 82543 issue when reading eeprom
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com>
Diffstat (limited to 'drivers/net/e1000/e1000_hw.c')
-rw-r--r--drivers/net/e1000/e1000_hw.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c
index 0af68bab974b..1b8869e39533 100644
--- a/drivers/net/e1000/e1000_hw.c
+++ b/drivers/net/e1000/e1000_hw.c
@@ -906,7 +906,13 @@ e1000_setup_link(struct e1000_hw *hw)
* signal detection. So this should be done before e1000_setup_pcs_link()
* or e1000_phy_setup() is called.
*/
- if(hw->mac_type == e1000_82543) {
+ if (hw->mac_type == e1000_82543) {
+ ret_val = e1000_read_eeprom(hw, EEPROM_INIT_CONTROL2_REG,
+ 1, &eeprom_data);
+ if (ret_val) {
+ DEBUGOUT("EEPROM Read Error\n");
+ return -E1000_ERR_EEPROM;
+ }
ctrl_ext = ((eeprom_data & EEPROM_WORD0F_SWPDIO_EXT) <<
SWDPIO__EXT_SHIFT);
E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext);