| From dfe366f3283a63b5ce66bb7efaa00a692372518c Mon Sep 17 00:00:00 2001 |
| From: Florian Fainelli <f.fainelli@gmail.com> |
| Date: Fri, 28 Sep 2018 16:18:54 -0700 |
| Subject: r8152: Check for supported Wake-on-LAN Modes |
| |
| [ Upstream commit f2750df1548bd8a2b060eb609fc43ca82811af4c ] |
| |
| The driver does not check for Wake-on-LAN modes specified by an user, |
| but will conditionally set the device as wake-up enabled or not based on |
| that, which could be a very confusing user experience. |
| |
| Fixes: 21ff2e8976b1 ("r8152: support WOL") |
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/usb/r8152.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c |
| index 5988674818ed..02e29562d254 100644 |
| --- a/drivers/net/usb/r8152.c |
| +++ b/drivers/net/usb/r8152.c |
| @@ -3776,6 +3776,9 @@ static int rtl8152_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) |
| if (!rtl_can_wakeup(tp)) |
| return -EOPNOTSUPP; |
| |
| + if (wol->wolopts & ~WAKE_ANY) |
| + return -EINVAL; |
| + |
| ret = usb_autopm_get_interface(tp->intf); |
| if (ret < 0) |
| goto out_set_wol; |
| -- |
| 2.17.1 |
| |