diff options
author | Tim Mann <mann@vmware.com> | 2007-06-14 13:16:38 -0700 |
---|---|---|
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) | |
download | op-kernel-dev-2cc49a5ca14348f225beb888ad383064f2a96876.zip op-kernel-dev-2cc49a5ca14348f225beb888ad383064f2a96876.tar.gz |
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 32788ca4..42ba1c0 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c @@ -4825,8 +4825,10 @@ static int nv_close(struct net_device *dev) drain_ring(dev); - if (np->wolenabled) + if (np->wolenabled) { + writel(NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR, base + NvRegPacketFilterFlags); nv_start_rx(dev); + } /* FIXME: power down nic */ |