summaryrefslogtreecommitdiffstats
path: root/package/madwifi/patches/121-ibss_hostap.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/madwifi/patches/121-ibss_hostap.patch')
-rw-r--r--package/madwifi/patches/121-ibss_hostap.patch19
1 files changed, 9 insertions, 10 deletions
diff --git a/package/madwifi/patches/121-ibss_hostap.patch b/package/madwifi/patches/121-ibss_hostap.patch
index 8a843a279..d43618b73 100644
--- a/package/madwifi/patches/121-ibss_hostap.patch
+++ b/package/madwifi/patches/121-ibss_hostap.patch
@@ -112,16 +112,15 @@ diff -ur madwifi.old/ath/if_ath.c madwifi.dev/ath/if_ath.c
sc->sc_nstavaps--;
sc->sc_nostabeacons = 0;
} else if (vap->iv_opmode == IEEE80211_M_MONITOR)
-@@ -3356,7 +3347,8 @@
- HAL_RX_FILTER_MCAST;
- if (ic->ic_opmode != IEEE80211_M_STA)
- rfilt |= HAL_RX_FILTER_PROBEREQ;
-- if (ic->ic_opmode != IEEE80211_M_HOSTAP && (dev->flags & IFF_PROMISC))
-+ if ((ic->ic_opmode != IEEE80211_M_HOSTAP && (dev->flags & IFF_PROMISC)) ||
-+ ((sc->sc_nvaps > 0) && (sc->sc_nibssvaps > 0)))
- rfilt |= HAL_RX_FILTER_PROM;
- if (ic->ic_opmode == IEEE80211_M_STA ||
- sc->sc_opmode == HAL_M_IBSS || /* NB: AHDEMO too */
+@@ -3368,7 +3367,7 @@
+ ((ic->ic_opmode == IEEE80211_M_HOSTAP) &&
+ (ic->ic_protmode != IEEE80211_PROT_NONE)))
+ rfilt |= HAL_RX_FILTER_BEACON;
+- if (sc->sc_nmonvaps > 0)
++ if ((sc->sc_nmonvaps > 0) || ((sc->sc_nvaps > 0) && (sc->sc_nibssvaps > 0)))
+ rfilt |= (HAL_RX_FILTER_CONTROL | HAL_RX_FILTER_BEACON |
+ HAL_RX_FILTER_PROBEREQ | HAL_RX_FILTER_PROM);
+ return rfilt;
@@ -5809,12 +5801,19 @@
type = ieee80211_input(ni, skb, rs->rs_rssi, rs->rs_tstamp);
ieee80211_unref_node(&ni);