mark state for protection only when operating in 11g

This commit is contained in:
Sam Leffler 2005-06-10 01:35:21 +00:00
parent 9b4db82905
commit ec42511509

View File

@ -1850,7 +1850,8 @@ ieee80211_recv_mgmt(struct ieee80211com *ic, struct mbuf *m0,
"[%s] erp change: was 0x%x, now 0x%x\n",
ether_sprintf(wh->i_addr2),
ni->ni_erp, erp);
if (erp & IEEE80211_ERP_USE_PROTECTION)
if (ic->ic_curmode == IEEE80211_MODE_11G &&
(ni->ni_erp & IEEE80211_ERP_USE_PROTECTION))
ic->ic_flags |= IEEE80211_F_USEPROT;
else
ic->ic_flags &= ~IEEE80211_F_USEPROT;
@ -2420,7 +2421,8 @@ ieee80211_recv_mgmt(struct ieee80211com *ic, struct mbuf *m0,
* NB: ni_erp should zero for non-11g operation.
* XXX check ic_curmode anyway?
*/
if (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION)
if (ic->ic_curmode == IEEE80211_MODE_11G &&
(ni->ni_erp & IEEE80211_ERP_USE_PROTECTION))
ic->ic_flags |= IEEE80211_F_USEPROT;
else
ic->ic_flags &= ~IEEE80211_F_USEPROT;