···11651165 u8 prep_len;11661166 u8 perr_len;11671167 u8 country_elem_len;11681168- u8 pwr_constr_elem_len;11691168 u8 quiet_elem_len;11701169 u8 num_of_quiet_elem; /* can be more the one */11711170 u8 timeout_int_len;
+2-8
net/mac80211/mlme.c
···821821}822822823823static void ieee80211_handle_pwr_constr(struct ieee80211_sub_if_data *sdata,824824- u16 capab_info, u8 *pwr_constr_elem,825825- u8 pwr_constr_elem_len)824824+ u16 capab_info, u8 *pwr_constr_elem)826825{827826 struct ieee80211_conf *conf = &sdata->local->hw.conf;828827829828 if (!(capab_info & WLAN_CAPABILITY_SPECTRUM_MGMT))830830- return;831831-832832- /* Power constraint IE length should be 1 octet */833833- if (pwr_constr_elem_len != 1)834829 return;835830836831 if ((*pwr_constr_elem <= conf->channel->max_reg_power) &&···25472552 if (elems.pwr_constr_elem)25482553 ieee80211_handle_pwr_constr(sdata,25492554 le16_to_cpu(mgmt->u.probe_resp.capab_info),25502550- elems.pwr_constr_elem,25512551- elems.pwr_constr_elem_len);25552555+ elems.pwr_constr_elem);25522556 }2553255725542558 ieee80211_bss_info_change_notify(sdata, changed);
+4-1
net/mac80211/util.c
···792792 elems->country_elem_len = elen;793793 break;794794 case WLAN_EID_PWR_CONSTRAINT:795795+ if (elen != 1) {796796+ elem_parse_failed = true;797797+ break;798798+ }795799 elems->pwr_constr_elem = pos;796796- elems->pwr_constr_elem_len = elen;797800 break;798801 case WLAN_EID_TIMEOUT_INTERVAL:799802 elems->timeout_int = pos;