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
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.