summaryrefslogtreecommitdiff
path: root/sys/dev/ic/if_wi.c
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2002-03-31 01:01:45 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2002-03-31 01:01:45 +0000
commit595bb929923125b1f951e13b9730b53ca59e5185 (patch)
tree8314cc4bc265f3af25fbb17196f371c7d713eb35 /sys/dev/ic/if_wi.c
parent68031ef80c7c4b90a04aa30c1ad68768360e3d48 (diff)
Fix logic thinko. In AP mode we were never calling wihap_check_tx() if
the IFF_PROMISC flag was set (e.g. in bridge mode). Found by mickey@ There still seems to be an issue with Lucent stations reporting 1Mbs when the AP is in bridge mode though.
Diffstat (limited to 'sys/dev/ic/if_wi.c')
-rw-r--r--sys/dev/ic/if_wi.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/ic/if_wi.c b/sys/dev/ic/if_wi.c
index dd8f0a21b41..16c6e580573 100644
--- a/sys/dev/ic/if_wi.c
+++ b/sys/dev/ic/if_wi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_wi.c,v 1.33 2002/03/31 00:33:42 mickey Exp $ */
+/* $OpenBSD: if_wi.c,v 1.34 2002/03/31 01:01:44 millert Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
@@ -124,7 +124,7 @@ u_int32_t widebug = WIDEBUG;
#if !defined(lint) && !defined(__OpenBSD__)
static const char rcsid[] =
- "$OpenBSD: if_wi.c,v 1.33 2002/03/31 00:33:42 mickey Exp $";
+ "$OpenBSD: if_wi.c,v 1.34 2002/03/31 01:01:44 millert Exp $";
#endif /* lint */
#ifdef foo
@@ -1673,9 +1673,8 @@ nextpkt:
eh = mtod(m0, struct ether_header *);
if (sc->wi_ptype == WI_PORTTYPE_AP) {
- if (!(ifp->if_flags & IFF_PROMISC) &&
- !wihap_check_tx(&sc->wi_hostap_info,
- eh->ether_dhost, &tx_frame.wi_tx_rate)) {
+ if (!wihap_check_tx(&sc->wi_hostap_info, eh->ether_dhost,
+ &tx_frame.wi_tx_rate) && !(ifp->if_flags & IFF_PROMISC)) {
if (ifp->if_flags & IFF_DEBUG)
printf("wi_start: dropping unassoc dst %s\n",
ether_sprintf(eh->ether_dhost));