diff options
author | Hayes Wang <hayeswang@realtek.com> | 2020-01-22 11:02:07 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-02-05 16:03:43 +0300 |
commit | e38df4efddb5c2d428a1b33bdeb02ddb7e97f655 (patch) | |
tree | e711cb0ed684daac3af386b0e46d515b769b408c /drivers | |
parent | bd786d8d13d528fddc4570a5b9a6f52c4b937791 (diff) | |
download | linux-e38df4efddb5c2d428a1b33bdeb02ddb7e97f655.tar.xz |
r8152: get default setting of WOL before initializing
[ Upstream commit 9583a3638dc07cc1878f41265e85ed497f72efcb ]
Initailization would reset runtime suspend by tp->saved_wolopts, so
the tp->saved_wolopts should be set before initializing.
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/usb/r8152.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index db8b489b0513..23e299c86b81 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -4313,6 +4313,11 @@ static int rtl8152_probe(struct usb_interface *intf, intf->needs_remote_wakeup = 1; + if (!rtl_can_wakeup(tp)) + __rtl_set_wol(tp, 0); + else + tp->saved_wolopts = __rtl_get_wol(tp); + tp->rtl_ops.init(tp); set_ethernet_addr(tp); @@ -4325,10 +4330,6 @@ static int rtl8152_probe(struct usb_interface *intf, goto out1; } - if (!rtl_can_wakeup(tp)) - __rtl_set_wol(tp, 0); - - tp->saved_wolopts = __rtl_get_wol(tp); if (tp->saved_wolopts) device_set_wakeup_enable(&udev->dev, true); else |