On Saturday 06 March 2010, Alan Stern wrote:
On Sat, 6 Mar 2010, Rafael J. Wysocki wrote:
quoted
quoted
It's not difficult in theory to tie together the WoL setting and the
wakeup flag:
If ethtool changes the WoL setting, the driver's ioctl handler
should make the corresponding change to the wakeup flag.
If ethtool queries the WoL setting, the ioctl handler should
check the wakeup flag. If the flag is off, it should report
that WoL is disabled; if the flag is on, it should report that
WoL is enabled. (The same check should be made in the suspend
routine.)
That's done this way already in all drivers I know, but we need a hook
from wake_store() back to the driver.
What for? wake_store() can't be called during a sleep transition
(because tasks are frozen) or while the system is asleep. And if it is
called at any other time, the driver doesn't need to know until either
its ioctl handler or its suspend method runs.
Right.
That means, though, that the network adapter drivers' "get WoL" routines
should check should_wakeup too. They don't do that right now, but IMO it's
reasonable to request that they be modified.
Adding netdev to the Cc list.
Rafael