aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/netdev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000e/netdev.c')
-rw-r--r--drivers/net/e1000e/netdev.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 378335f2b23..589e54246ad 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -4177,6 +4177,28 @@ static void e1000_print_device_info(struct e1000_adapter *adapter)
4177 hw->mac.type, hw->phy.type, (pba_num >> 8), (pba_num & 0xff)); 4177 hw->mac.type, hw->phy.type, (pba_num >> 8), (pba_num & 0xff));
4178} 4178}
4179 4179
4180static void e1000_eeprom_checks(struct e1000_adapter *adapter)
4181{
4182 struct e1000_hw *hw = &adapter->hw;
4183 int ret_val;
4184 u16 buf = 0;
4185
4186 if (hw->mac.type != e1000_82573)
4187 return;
4188
4189 ret_val = e1000_read_nvm(hw, NVM_INIT_CONTROL2_REG, 1, &buf);
4190 if (!(le16_to_cpu(buf) & (1 << 0))) {
4191 /* Deep Smart Power Down (DSPD) */
4192 e_warn("Warning: detected DSPD enabled in EEPROM\n");
4193 }
4194
4195 ret_val = e1000_read_nvm(hw, NVM_INIT_3GIO_3, 1, &buf);
4196 if (le16_to_cpu(buf) & (3 << 2)) {
4197 /* ASPM enable */
4198 e_warn("Warning: detected ASPM enabled in EEPROM\n");
4199 }
4200}
4201
4180/** 4202/**
4181 * e1000e_is_need_ioport - determine if an adapter needs ioport resources or not 4203 * e1000e_is_need_ioport - determine if an adapter needs ioport resources or not
4182 * @pdev: PCI device information struct 4204 * @pdev: PCI device information struct
@@ -4400,6 +4422,8 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
4400 } 4422 }
4401 } 4423 }
4402 4424
4425 e1000_eeprom_checks(adapter);
4426
4403 /* copy the MAC address out of the NVM */ 4427 /* copy the MAC address out of the NVM */
4404 if (e1000e_read_mac_addr(&adapter->hw)) 4428 if (e1000e_read_mac_addr(&adapter->hw))
4405 e_err("NVM Read Error while reading MAC address\n"); 4429 e_err("NVM Read Error while reading MAC address\n");