Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

igb: support wol on second port

We need to support wol on the second port for situations such as when the
lan ports are on the motherboard itself.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Alexander Duyck and committed by
David S. Miller
a2cf8b6c bd38e5d1

+4 -2
+1
drivers/net/igb/e1000_defines.h
··· 512 512 #define NVM_ID_LED_SETTINGS 0x0004 513 513 /* For SERDES output amplitude adjustment. */ 514 514 #define NVM_INIT_CONTROL2_REG 0x000F 515 + #define NVM_INIT_CONTROL3_PORT_B 0x0014 515 516 #define NVM_INIT_CONTROL3_PORT_A 0x0024 516 517 #define NVM_ALT_MAC_ADDR_PTR 0x0037 517 518 #define NVM_CHECKSUM_REG 0x003F
+3 -2
drivers/net/igb/igb_main.c
··· 1351 1351 * enable the ACPI Magic Packet filter 1352 1352 */ 1353 1353 1354 - if (hw->bus.func == 0 || 1355 - hw->device_id == E1000_DEV_ID_82575EB_COPPER) 1354 + if (hw->bus.func == 0) 1356 1355 hw->nvm.ops.read(hw, NVM_INIT_CONTROL3_PORT_A, 1, &eeprom_data); 1356 + else if (hw->bus.func == 1) 1357 + hw->nvm.ops.read(hw, NVM_INIT_CONTROL3_PORT_B, 1, &eeprom_data); 1357 1358 1358 1359 if (eeprom_data & eeprom_apme_mask) 1359 1360 adapter->eeprom_wol |= E1000_WUFC_MAG;