aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/forcedeth.c
diff options
context:
space:
mode:
authorTim Mann <mann@vmware.com>2007-06-14 13:16:38 -0700
committerJeff Garzik <jeff@garzik.org>2007-06-20 19:15:04 -0400
commit2cc49a5ca14348f225beb888ad383064f2a96876 (patch)
tree719ea917b9510968a3d7cb214fbf09585883d4d8 /drivers/net/forcedeth.c
parentd46146274b2dc01fac4063d31393385117d31f58 (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.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 32788ca40d2..42ba1c012ee 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 */