Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 315526
b: refs/heads/master
c: 7d25745
h: refs/heads/master
v: v3
  • Loading branch information
Johannes Berg committed Jul 9, 2012
1 parent 2d141d2 commit cc7f411
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 56af8f9af99223610f0582594bd4ac0a0320eb71
refs/heads/master: 7d25745d05e7a0f0fb0d5e29bef40cb6326efc96
2 changes: 2 additions & 0 deletions trunk/net/mac80211/cfg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1741,6 +1741,8 @@ static int ieee80211_set_txq_params(struct wiphy *wiphy,
return -EINVAL;
}

ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_QOS);

return 0;
}

Expand Down
28 changes: 14 additions & 14 deletions trunk/net/mac80211/mlme.c
Original file line number Diff line number Diff line change
Expand Up @@ -1108,7 +1108,7 @@ void ieee80211_dynamic_ps_timer(unsigned long data)
}

/* MLME */
static void ieee80211_sta_wmm_params(struct ieee80211_local *local,
static bool ieee80211_sta_wmm_params(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata,
u8 *wmm_param, size_t wmm_param_len)
{
Expand All @@ -1119,23 +1119,23 @@ static void ieee80211_sta_wmm_params(struct ieee80211_local *local,
u8 *pos, uapsd_queues = 0;

if (!local->ops->conf_tx)
return;
return false;

if (local->hw.queues < IEEE80211_NUM_ACS)
return;
return false;

if (!wmm_param)
return;
return false;

if (wmm_param_len < 8 || wmm_param[5] /* version */ != 1)
return;
return false;

if (ifmgd->flags & IEEE80211_STA_UAPSD_ENABLED)
uapsd_queues = ifmgd->uapsd_queues;

count = wmm_param[6] & 0x0f;
if (count == ifmgd->wmm_last_param_set)
return;
return false;
ifmgd->wmm_last_param_set = count;

pos = wmm_param + 8;
Expand Down Expand Up @@ -1202,6 +1202,7 @@ static void ieee80211_sta_wmm_params(struct ieee80211_local *local,

/* enable WMM or activate new settings */
sdata->vif.bss_conf.qos = true;
return true;
}

static void __ieee80211_stop_poll(struct ieee80211_sub_if_data *sdata)
Expand Down Expand Up @@ -2438,14 +2439,6 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
directed_tim = ieee80211_check_tim(elems.tim, elems.tim_len,
ifmgd->aid);

if (ncrc != ifmgd->beacon_crc || !ifmgd->beacon_crc_valid) {
ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems,
true);

ieee80211_sta_wmm_params(local, sdata, elems.wmm_param,
elems.wmm_param_len);
}

if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) {
if (directed_tim) {
if (local->hw.conf.dynamic_ps_timeout > 0) {
Expand Down Expand Up @@ -2476,6 +2469,13 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
ifmgd->beacon_crc = ncrc;
ifmgd->beacon_crc_valid = true;

ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems,
true);

if (ieee80211_sta_wmm_params(local, sdata, elems.wmm_param,
elems.wmm_param_len))
changed |= BSS_CHANGED_QOS;

if (elems.erp_info && elems.erp_info_len >= 1) {
erp_valid = true;
erp_value = elems.erp_info[0];
Expand Down

0 comments on commit cc7f411

Please sign in to comment.