Thread (9 messages) 9 messages, 2 authors, 2016-07-28

RE: [PATCH net 1/3] r8169:fix kernel log spam when set or get hardware wol setting.

From: Hau <hidden>
Date: 2016-07-28 12:59:03
Also in: lkml

[...]
quoted
@@ -1852,12 +1863,17 @@ static int rtl8169_set_wol(struct net_device
*dev, struct ethtool_wolinfo *wol)
quoted
 		tp->features |= RTL_FEATURE_WOL;
 	else
 		tp->features &= ~RTL_FEATURE_WOL;
-	__rtl8169_set_wol(tp, wol->wolopts);
+	if (pm_runtime_active(&pdev->dev))
+		__rtl8169_set_wol(tp, wol->wolopts);
+	else
+		tp->saved_wolopts = wol->wolopts;

 	rtl_unlock_work(tp);

 	device_set_wakeup_enable(&tp->pci_dev->dev, wol->wolopts);

+	pm_runtime_put_noidle(&pdev->dev);
+
 	return 0;
Either the driver resumes the device so that it can perform requested
operation or it signals .set_wol failure when the device is suspended.

If the driver does something else, "spam removal" translates to "silent
failure".
Because "tp->saved_wolopts" will be used to set hardware wol capability in rtl8169_runtime_resume().  So I prefer to keep "wol->wolopts" to " tp->saved_wolopts " in runtime suspend state and set this to this "wol->wolopts" to hardware in in rtl8169_runtime_resume(). 

Thanks.

------Please consider the environment before printing this e-mail.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help