aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c15
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c11
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_type.h1
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