|
@@ -1799,8 +1799,7 @@ static void e1000_get_wol(struct net_device *netdev,
|
|
|
return;
|
|
|
|
|
|
wol->supported = WAKE_UCAST | WAKE_MCAST |
|
|
|
- WAKE_BCAST | WAKE_MAGIC |
|
|
|
- WAKE_PHY | WAKE_ARP;
|
|
|
+ WAKE_BCAST | WAKE_MAGIC | WAKE_PHY;
|
|
|
|
|
|
/* apply any specific unsupported masks here */
|
|
|
if (adapter->flags & FLAG_NO_WAKE_UCAST) {
|
|
@@ -1821,19 +1820,16 @@ static void e1000_get_wol(struct net_device *netdev,
|
|
|
wol->wolopts |= WAKE_MAGIC;
|
|
|
if (adapter->wol & E1000_WUFC_LNKC)
|
|
|
wol->wolopts |= WAKE_PHY;
|
|
|
- if (adapter->wol & E1000_WUFC_ARP)
|
|
|
- wol->wolopts |= WAKE_ARP;
|
|
|
}
|
|
|
|
|
|
-static int e1000_set_wol(struct net_device *netdev,
|
|
|
- struct ethtool_wolinfo *wol)
|
|
|
+static int e1000_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
|
|
|
{
|
|
|
struct e1000_adapter *adapter = netdev_priv(netdev);
|
|
|
|
|
|
if (!(adapter->flags & FLAG_HAS_WOL) ||
|
|
|
!device_can_wakeup(&adapter->pdev->dev) ||
|
|
|
(wol->wolopts & ~(WAKE_UCAST | WAKE_MCAST | WAKE_BCAST |
|
|
|
- WAKE_MAGIC | WAKE_PHY | WAKE_ARP)))
|
|
|
+ WAKE_MAGIC | WAKE_PHY)))
|
|
|
return -EOPNOTSUPP;
|
|
|
|
|
|
/* these settings will always override what we currently have */
|
|
@@ -1849,8 +1845,6 @@ static int e1000_set_wol(struct net_device *netdev,
|
|
|
adapter->wol |= E1000_WUFC_MAG;
|
|
|
if (wol->wolopts & WAKE_PHY)
|
|
|
adapter->wol |= E1000_WUFC_LNKC;
|
|
|
- if (wol->wolopts & WAKE_ARP)
|
|
|
- adapter->wol |= E1000_WUFC_ARP;
|
|
|
|
|
|
device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
|
|
|
|