diff options
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 15 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 11 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 1 |
3 files changed, 22 insertions, 5 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c index 91f871b6b3ba..da7e580f517a 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | |||
@@ -1955,12 +1955,21 @@ static int ixgbe_wol_exclusion(struct ixgbe_adapter *adapter, | |||
1955 | /* WOL not supported except for the following */ | 1955 | /* WOL not supported except for the following */ |
1956 | switch(hw->device_id) { | 1956 | switch(hw->device_id) { |
1957 | case IXGBE_DEV_ID_82599_SFP: | 1957 | case IXGBE_DEV_ID_82599_SFP: |
1958 | /* Only this subdevice supports WOL */ | 1958 | /* Only these subdevices could supports WOL */ |
1959 | if (hw->subsystem_device_id != IXGBE_SUBDEV_ID_82599_SFP) { | 1959 | switch (hw->subsystem_device_id) { |
1960 | case IXGBE_SUBDEV_ID_82599_560FLR: | ||
1961 | /* only support first port */ | ||
1962 | if (hw->bus.func != 0) { | ||
1963 | wol->supported = 0; | ||
1964 | break; | ||
1965 | } | ||
1966 | case IXGBE_SUBDEV_ID_82599_SFP: | ||
1967 | retval = 0; | ||
1968 | break; | ||
1969 | default: | ||
1960 | wol->supported = 0; | 1970 | wol->supported = 0; |
1961 | break; | 1971 | break; |
1962 | } | 1972 | } |
1963 | retval = 0; | ||
1964 | break; | 1973 | break; |
1965 | case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: | 1974 | case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: |
1966 | /* All except this subdevice support WOL */ | 1975 | /* All except this subdevice support WOL */ |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index e27e4d10411e..74669a8c060e 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
@@ -7605,9 +7605,16 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, | |||
7605 | adapter->wol = 0; | 7605 | adapter->wol = 0; |
7606 | switch (pdev->device) { | 7606 | switch (pdev->device) { |
7607 | case IXGBE_DEV_ID_82599_SFP: | 7607 | case IXGBE_DEV_ID_82599_SFP: |
7608 | /* Only this subdevice supports WOL */ | 7608 | /* Only these subdevice supports WOL */ |
7609 | if (pdev->subsystem_device == IXGBE_SUBDEV_ID_82599_SFP) | 7609 | switch (pdev->subsystem_device) { |
7610 | case IXGBE_SUBDEV_ID_82599_560FLR: | ||
7611 | /* only support first port */ | ||
7612 | if (hw->bus.func != 0) | ||
7613 | break; | ||
7614 | case IXGBE_SUBDEV_ID_82599_SFP: | ||
7610 | adapter->wol = IXGBE_WUFC_MAG; | 7615 | adapter->wol = IXGBE_WUFC_MAG; |
7616 | break; | ||
7617 | } | ||
7611 | break; | 7618 | break; |
7612 | case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: | 7619 | case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: |
7613 | /* All except this subdevice support WOL */ | 7620 | /* All except this subdevice support WOL */ |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h index 7c5817f8a951..802bfa0f62cc 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | |||
@@ -57,6 +57,7 @@ | |||
57 | #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152a | 57 | #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152a |
58 | #define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529 | 58 | #define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529 |
59 | #define IXGBE_SUBDEV_ID_82599_SFP 0x11A9 | 59 | #define IXGBE_SUBDEV_ID_82599_SFP 0x11A9 |
60 | #define IXGBE_SUBDEV_ID_82599_560FLR 0x17D0 | ||
60 | #define IXGBE_DEV_ID_82599_SFP_EM 0x1507 | 61 | #define IXGBE_DEV_ID_82599_SFP_EM 0x1507 |
61 | #define IXGBE_DEV_ID_82599_SFP_SF2 0x154D | 62 | #define IXGBE_DEV_ID_82599_SFP_SF2 0x154D |
62 | #define IXGBE_DEV_ID_82599EN_SFP 0x1557 | 63 | #define IXGBE_DEV_ID_82599EN_SFP 0x1557 |