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

From: Hau
Date: Thu Jul 28 2016 - 08:59:06 EST


[...]
> > @@ -1852,12 +1863,17 @@ static int rtl8169_set_wol(struct net_device
> *dev, struct ethtool_wolinfo *wol)
> > 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.