summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2015-03-03 20:14:34 +0000
committerkettenis <kettenis@openbsd.org>2015-03-03 20:14:34 +0000
commit9c83d7d75dd10bf5b35191f3b758745fb800714e (patch)
tree1702b539a09bc2897d5bb8df9311eeb99f91b190
parentreorder logic for better portability; patch from Roumen Petrov (diff)
downloadwireguard-openbsd-9c83d7d75dd10bf5b35191f3b758745fb800714e.tar.xz
wireguard-openbsd-9c83d7d75dd10bf5b35191f3b758745fb800714e.zip
Set/clear the IWM_MAC_FILTER_IN_BEACON flag under conditions that match what
Linux does. ok jsg@
-rw-r--r--sys/dev/pci/if_iwm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/if_iwm.c b/sys/dev/pci/if_iwm.c
index def8d66d901..ae136699ad6 100644
--- a/sys/dev/pci/if_iwm.c
+++ b/sys/dev/pci/if_iwm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_iwm.c,v 1.33 2015/03/03 06:56:12 kettenis Exp $ */
+/* $OpenBSD: if_iwm.c,v 1.34 2015/03/03 20:14:34 kettenis Exp $ */
/*
* Copyright (c) 2014 genua mbh <info@genua.de>
@@ -4881,7 +4881,9 @@ iwm_mvm_mac_ctxt_cmd_station(struct iwm_softc *sc, struct iwm_node *in,
/* Fill the common data for all mac context types */
iwm_mvm_mac_ctxt_cmd_common(sc, in, &cmd, action);
- if (in->in_assoc)
+ /* Allow beacons to pass through as long as we are not associated,or we
+ * do not have dtim period information */
+ if (!in->in_assoc || !sc->sc_ic.ic_dtim_period)
cmd.filter_flags |= htole32(IWM_MAC_FILTER_IN_BEACON);
else
cmd.filter_flags &= ~htole32(IWM_MAC_FILTER_IN_BEACON);