struct ixgbe_hw *hw = &adapter->hw;
        int retval = 1;
 
+       /* WOL not supported except for the following */
        switch(hw->device_id) {
+       case IXGBE_DEV_ID_82599_SFP:
+               /* Only this subdevice supports WOL */
+               if (hw->subsystem_device_id != IXGBE_SUBDEV_ID_82599_SFP) {
+                       wol->supported = 0;
+                       break;
+               }
+               retval = 0;
+               break;
        case IXGBE_DEV_ID_82599_COMBO_BACKPLANE:
                /* All except this subdevice support WOL */
                if (hw->subsystem_device_id ==
                        wol->supported = 0;
                        break;
                }
+               retval = 0;
+               break;
        case IXGBE_DEV_ID_82599_KX4:
                retval = 0;
                break;
 
                goto err_sw_init;
 
        switch (pdev->device) {
+       case IXGBE_DEV_ID_82599_SFP:
+               /* Only this subdevice supports WOL */
+               if (pdev->subsystem_device == IXGBE_SUBDEV_ID_82599_SFP)
+                       adapter->wol = (IXGBE_WUFC_MAG | IXGBE_WUFC_EX |
+                                       IXGBE_WUFC_MC | IXGBE_WUFC_BC);
+               break;
        case IXGBE_DEV_ID_82599_COMBO_BACKPLANE:
                /* All except this subdevice support WOL */
-               if (pdev->subsystem_device ==
-                   IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) {
-                       adapter->wol = 0;
-                       break;
-               }
+               if (pdev->subsystem_device != IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ)
+                       adapter->wol = (IXGBE_WUFC_MAG | IXGBE_WUFC_EX |
+                                       IXGBE_WUFC_MC | IXGBE_WUFC_BC);
+               break;
        case IXGBE_DEV_ID_82599_KX4:
                adapter->wol = (IXGBE_WUFC_MAG | IXGBE_WUFC_EX |
                                IXGBE_WUFC_MC | IXGBE_WUFC_BC);
 
 #define IXGBE_DEV_ID_82599_T3_LOM        0x151C
 #define IXGBE_DEV_ID_82599_CX4           0x10F9
 #define IXGBE_DEV_ID_82599_SFP           0x10FB
+#define IXGBE_SUBDEV_ID_82599_SFP        0x11A9
 #define IXGBE_DEV_ID_82599_SFP_EM        0x1507
 #define IXGBE_DEV_ID_82599_XAUI_LOM      0x10FC
 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8