]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.18.125/sr9800-check-for-supported-wake-on-lan-modes.patch
Linux 4.9.169
[thirdparty/kernel/stable-queue.git] / releases / 3.18.125 / sr9800-check-for-supported-wake-on-lan-modes.patch
CommitLineData
618190b8
SL
1From 0f7683aeaf1be4bcb09cd4002daf7d4071b06e2b Mon Sep 17 00:00:00 2001
2From: Florian Fainelli <f.fainelli@gmail.com>
3Date: Fri, 28 Sep 2018 16:18:53 -0700
4Subject: sr9800: Check for supported Wake-on-LAN modes
5
6[ Upstream commit c5cb93e994ffb43b7b3b1ff10b9f928f54574a36 ]
7
8The driver currently silently accepts unsupported Wake-on-LAN modes
9(other than WAKE_PHY or WAKE_MAGIC) without reporting that to the user,
10which is confusing.
11
12Fixes: 19a38d8e0aa3 ("USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800 Device Driver Support")
13Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
14Signed-off-by: David S. Miller <davem@davemloft.net>
15Signed-off-by: Sasha Levin <sashal@kernel.org>
16---
17 drivers/net/usb/sr9800.c | 3 +++
18 1 file changed, 3 insertions(+)
19
20diff --git a/drivers/net/usb/sr9800.c b/drivers/net/usb/sr9800.c
21index 953de13267df..0144fb19a099 100644
22--- a/drivers/net/usb/sr9800.c
23+++ b/drivers/net/usb/sr9800.c
24@@ -421,6 +421,9 @@ sr_set_wol(struct net_device *net, struct ethtool_wolinfo *wolinfo)
25 struct usbnet *dev = netdev_priv(net);
26 u8 opt = 0;
27
28+ if (wolinfo->wolopts & ~(WAKE_PHY | WAKE_MAGIC))
29+ return -EINVAL;
30+
31 if (wolinfo->wolopts & WAKE_PHY)
32 opt |= SR_MONITOR_LINK;
33 if (wolinfo->wolopts & WAKE_MAGIC)
34--
352.17.1
36