don't include wme ie in probe request frames; it was meant for probe response
frames--move it there Noticed by: Ghislain Mary Submitted by: Michael Wong
This commit is contained in:
parent
057ecc707f
commit
6640501834
@ -944,14 +944,12 @@ ieee80211_send_mgmt(struct ieee80211com *ic, struct ieee80211_node *ni,
|
||||
* [tlv] ssid
|
||||
* [tlv] supported rates
|
||||
* [tlv] extended supported rates
|
||||
* [tlv] WME (optional)
|
||||
* [tlv] user-specified ie's
|
||||
*/
|
||||
m = ieee80211_getmgtframe(&frm,
|
||||
2 + IEEE80211_NWID_LEN
|
||||
+ 2 + IEEE80211_RATE_SIZE
|
||||
+ 2 + (IEEE80211_RATE_MAXSIZE - IEEE80211_RATE_SIZE)
|
||||
+ sizeof(struct ieee80211_wme_param)
|
||||
+ (ic->ic_opt_ie != NULL ? ic->ic_opt_ie_len : 0)
|
||||
);
|
||||
if (m == NULL)
|
||||
@ -961,8 +959,6 @@ ieee80211_send_mgmt(struct ieee80211com *ic, struct ieee80211_node *ni,
|
||||
mode = ieee80211_chan2mode(ic, ni->ni_chan);
|
||||
frm = ieee80211_add_rates(frm, &ic->ic_sup_rates[mode]);
|
||||
frm = ieee80211_add_xrates(frm, &ic->ic_sup_rates[mode]);
|
||||
if (ic->ic_flags & IEEE80211_F_WME)
|
||||
frm = ieee80211_add_wme_param(frm, &ic->ic_wme);
|
||||
if (ic->ic_opt_ie != NULL) {
|
||||
memcpy(frm, ic->ic_opt_ie, ic->ic_opt_ie_len);
|
||||
frm += ic->ic_opt_ie_len;
|
||||
@ -987,6 +983,7 @@ ieee80211_send_mgmt(struct ieee80211com *ic, struct ieee80211_node *ni,
|
||||
* [tlv] extended rate phy (ERP)
|
||||
* [tlv] extended supported rates
|
||||
* [tlv] WPA
|
||||
* [tlv] WME (optional)
|
||||
*/
|
||||
m = ieee80211_getmgtframe(&frm,
|
||||
8
|
||||
@ -1001,6 +998,7 @@ ieee80211_send_mgmt(struct ieee80211com *ic, struct ieee80211_node *ni,
|
||||
/* XXX !WPA1+WPA2 fits w/o a cluster */
|
||||
+ (ic->ic_flags & IEEE80211_F_WPA ?
|
||||
2*sizeof(struct ieee80211_ie_wpa) : 0)
|
||||
+ sizeof(struct ieee80211_wme_param)
|
||||
);
|
||||
if (m == NULL)
|
||||
senderr(ENOMEM, is_tx_nobuf);
|
||||
@ -1053,6 +1051,8 @@ ieee80211_send_mgmt(struct ieee80211com *ic, struct ieee80211_node *ni,
|
||||
if (ic->ic_curmode == IEEE80211_MODE_11G)
|
||||
frm = ieee80211_add_erp(frm, ic);
|
||||
frm = ieee80211_add_xrates(frm, &ni->ni_rates);
|
||||
if (ic->ic_flags & IEEE80211_F_WME)
|
||||
frm = ieee80211_add_wme_param(frm, &ic->ic_wme);
|
||||
m->m_pkthdr.len = m->m_len = frm - mtod(m, u_int8_t *);
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user