diff options
author | Tim Mann <mann@vmware.com> | 2007-06-14 16:16:38 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-06-20 19:15:04 -0400 |
commit | 2cc49a5ca14348f225beb888ad383064f2a96876 (patch) | |
tree | 719ea917b9510968a3d7cb214fbf09585883d4d8 /drivers/net/forcedeth.c | |
parent | d46146274b2dc01fac4063d31393385117d31f58 (diff) |
forcedeth: use unicast receive mode for WoL
I happened to notice that a system with an NVidia NIC using the
forcedeth driver won't wake-on-LAN if the interface was in promiscuous
mode when you power off. By experiment, it looks like
the hardware needs to have NvRegPacketFilterFlags set to
NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR (i.e., receive unicast packets to my
address) in order for WoL to work.
Jeff Garzik writes: "NVIDIA says the patch looks OK." I didn't venture
to insert a signed-off-by line with his name on it, though.
Signed-off-by: Tim Mann <mann@vmware.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/forcedeth.c')
-rw-r--r-- | drivers/net/forcedeth.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 32788ca40d25..42ba1c012ee2 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c | |||
@@ -4825,8 +4825,10 @@ static int nv_close(struct net_device *dev) | |||
4825 | 4825 | ||
4826 | drain_ring(dev); | 4826 | drain_ring(dev); |
4827 | 4827 | ||
4828 | if (np->wolenabled) | 4828 | if (np->wolenabled) { |
4829 | writel(NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR, base + NvRegPacketFilterFlags); | ||
4829 | nv_start_rx(dev); | 4830 | nv_start_rx(dev); |
4831 | } | ||
4830 | 4832 | ||
4831 | /* FIXME: power down nic */ | 4833 | /* FIXME: power down nic */ |
4832 | 4834 | ||