diff options
Diffstat (limited to 'drivers/net/wireless/libertas/ethtool.c')
-rw-r--r-- | drivers/net/wireless/libertas/ethtool.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/net/wireless/libertas/ethtool.c b/drivers/net/wireless/libertas/ethtool.c index 3804a58d7f4e..6a36c9956fdc 100644 --- a/drivers/net/wireless/libertas/ethtool.c +++ b/drivers/net/wireless/libertas/ethtool.c | |||
@@ -91,23 +91,22 @@ static int lbs_ethtool_set_wol(struct net_device *dev, | |||
91 | struct ethtool_wolinfo *wol) | 91 | struct ethtool_wolinfo *wol) |
92 | { | 92 | { |
93 | struct lbs_private *priv = dev->ml_priv; | 93 | struct lbs_private *priv = dev->ml_priv; |
94 | uint32_t criteria = 0; | ||
95 | 94 | ||
96 | if (wol->wolopts & ~(WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY)) | 95 | if (wol->wolopts & ~(WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY)) |
97 | return -EOPNOTSUPP; | 96 | return -EOPNOTSUPP; |
98 | 97 | ||
98 | priv->wol_criteria = 0; | ||
99 | if (wol->wolopts & WAKE_UCAST) | 99 | if (wol->wolopts & WAKE_UCAST) |
100 | criteria |= EHS_WAKE_ON_UNICAST_DATA; | 100 | priv->wol_criteria |= EHS_WAKE_ON_UNICAST_DATA; |
101 | if (wol->wolopts & WAKE_MCAST) | 101 | if (wol->wolopts & WAKE_MCAST) |
102 | criteria |= EHS_WAKE_ON_MULTICAST_DATA; | 102 | priv->wol_criteria |= EHS_WAKE_ON_MULTICAST_DATA; |
103 | if (wol->wolopts & WAKE_BCAST) | 103 | if (wol->wolopts & WAKE_BCAST) |
104 | criteria |= EHS_WAKE_ON_BROADCAST_DATA; | 104 | priv->wol_criteria |= EHS_WAKE_ON_BROADCAST_DATA; |
105 | if (wol->wolopts & WAKE_PHY) | 105 | if (wol->wolopts & WAKE_PHY) |
106 | criteria |= EHS_WAKE_ON_MAC_EVENT; | 106 | priv->wol_criteria |= EHS_WAKE_ON_MAC_EVENT; |
107 | if (wol->wolopts == 0) | 107 | if (wol->wolopts == 0) |
108 | criteria |= EHS_REMOVE_WAKEUP; | 108 | priv->wol_criteria |= EHS_REMOVE_WAKEUP; |
109 | 109 | return 0; | |
110 | return lbs_host_sleep_cfg(priv, criteria, (struct wol_config *)NULL); | ||
111 | } | 110 | } |
112 | 111 | ||
113 | const struct ethtool_ops lbs_ethtool_ops = { | 112 | const struct ethtool_ops lbs_ethtool_ops = { |