Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 266508
b: refs/heads/master
c: 3b9ce80
h: refs/heads/master
v: v3
  • Loading branch information
Johannes Berg authored and John W. Linville committed Sep 30, 2011
1 parent 3eba4c4 commit c173957
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 3 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: ffca287118d8c9a0a62e16a5ed96ff004caadeda
refs/heads/master: 3b9ce80ce96aeaeacab5e26442987df45584a049
12 changes: 12 additions & 0 deletions trunk/include/net/cfg80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,17 @@ enum plink_actions {
PLINK_ACTION_BLOCK,
};

/**
* enum station_parameters_apply_mask - station parameter values to apply
* @STATION_PARAM_APPLY_UAPSD: apply new uAPSD parameters (uapsd_queues, max_sp)
*
* Not all station parameters have in-band "no change" signalling,
* for those that don't these flags will are used.
*/
enum station_parameters_apply_mask {
STATION_PARAM_APPLY_UAPSD = BIT(0),
};

/**
* struct station_parameters - station parameters
*
Expand Down Expand Up @@ -450,6 +461,7 @@ struct station_parameters {
u8 *supported_rates;
struct net_device *vlan;
u32 sta_flags_mask, sta_flags_set;
u32 sta_modify_mask;
int listen_interval;
u16 aid;
u8 supported_rates_len;
Expand Down
6 changes: 4 additions & 2 deletions trunk/net/mac80211/cfg.c
Original file line number Diff line number Diff line change
Expand Up @@ -714,8 +714,10 @@ static void sta_apply_parameters(struct ieee80211_local *local,
}
spin_unlock_irqrestore(&sta->flaglock, flags);

sta->sta.uapsd_queues = params->uapsd_queues;
sta->sta.max_sp = params->max_sp;
if (params->sta_modify_mask & STATION_PARAM_APPLY_UAPSD) {
sta->sta.uapsd_queues = params->uapsd_queues;
sta->sta.max_sp = params->max_sp;
}

/*
* cfg80211 validates this (1-2007) and allows setting the AID
Expand Down
2 changes: 2 additions & 0 deletions trunk/net/wireless/nl80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -2643,6 +2643,8 @@ static int nl80211_new_station(struct sk_buff *skb, struct genl_info *info)

if (params.max_sp & ~IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK)
return -EINVAL;

params.sta_modify_mask |= STATION_PARAM_APPLY_UAPSD;
}

if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP &&
Expand Down

0 comments on commit c173957

Please sign in to comment.