Commit e9882208 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller
Browse files

r8169: improve setting WoL on runtime-resume



In the following scenario WoL isn't configured properly:
- Driver is loaded, interface isn't brought up within 10s, so driver
  runtime-suspends.
- WoL is set.
- Interface is brought up, stored WoL setting isn't applied.

It has always been like that, but the scenario seems to be quite
theoretical as I haven't seen any bug report yet. Therefore treat
the change as an improvement.

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 27248d57
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -4887,13 +4887,11 @@ static int rtl8169_runtime_resume(struct device *device)

	rtl_rar_set(tp, tp->dev->dev_addr);

	if (!tp->TxDescArray)
		return 0;

	rtl_lock_work(tp);
	__rtl8169_set_wol(tp, tp->saved_wolopts);
	rtl_unlock_work(tp);

	if (tp->TxDescArray)
		__rtl8169_resume(tp);

	return 0;