summaryrefslogtreecommitdiff
path: root/sys/dev/ic/ral.c
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2005-03-17 19:45:54 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2005-03-17 19:45:54 +0000
commitbea1d0631b993dd4462f734ef0855c720974492b (patch)
treeebc13e642571eb0791813f836e5af3b1af10f650 /sys/dev/ic/ral.c
parenta46c23ca104962ff4fa126f60fef8f3221869d04 (diff)
do not drop ToDS frames when acting as an access point.
fix beacon expired interrupt handler in hostap mode.
Diffstat (limited to 'sys/dev/ic/ral.c')
-rw-r--r--sys/dev/ic/ral.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/ic/ral.c b/sys/dev/ic/ral.c
index 06638828198..75a004cb8cb 100644
--- a/sys/dev/ic/ral.c
+++ b/sys/dev/ic/ral.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ral.c,v 1.33 2005/03/17 14:23:00 damien Exp $ */
+/* $OpenBSD: ral.c,v 1.34 2005/03/17 19:45:53 damien Exp $ */
/*-
* Copyright (c) 2005
@@ -1377,7 +1377,8 @@ ral_beacon_expire(struct ral_softc *sc)
struct ieee80211com *ic = &sc->sc_ic;
struct ral_tx_data *data;
- if (ic->ic_opmode != IEEE80211_M_IBSS)
+ if (ic->ic_opmode != IEEE80211_M_IBSS &&
+ ic->ic_opmode != IEEE80211_M_HOSTAP)
return;
data = &sc->bcnq.data[sc->bcnq.next];
@@ -2589,8 +2590,9 @@ ral_init(struct ifnet *ifp)
/* kick Rx */
tmp = RAL_RXCSR0_DROP_PHY | RAL_RXCSR0_DROP_CRC;
if (ic->ic_opmode != IEEE80211_M_MONITOR) {
- tmp |= RAL_RXCSR0_DROP_CTL | RAL_RXCSR0_DROP_TODS |
- RAL_RXCSR0_DROP_BAD_VERSION;
+ tmp |= RAL_RXCSR0_DROP_CTL | RAL_RXCSR0_DROP_BAD_VERSION;
+ if (ic->ic_opmode != IEEE80211_M_HOSTAP)
+ tmp |= RAL_RXCSR0_DROP_TODS;
if (!(ifp->if_flags & IFF_PROMISC))
tmp |= RAL_RXCSR0_DROP_NOT_TO_ME;
}