From 114b03e79c8e5068c195f4433aaa7df431d74a4b Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Fri, 15 Feb 2013 09:41:21 +0100 Subject: [PATCH] --- yaml --- r: 352711 b: refs/heads/master c: 8cdc196b743c4224ffa59fef38133559c1fd2a5e h: refs/heads/master i: 352709: 8fecb19f6570f89ce6855e53089b23f3da56cd51 352707: f7feb1460fca7d373461eccce4de1d0723d42a32 352703: c8bc7658171192511a06df50ead6a4dd31b81bd5 v: v3 --- [refs] | 2 +- trunk/net/mac80211/cfg.c | 3 ++- trunk/net/mac80211/mlme.c | 11 +++++++---- trunk/net/wireless/scan.c | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 282dac6d9c1c..8644caea93b6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 03395003bf8ac813b1a0ac9299b3496484caf228 +refs/heads/master: 8cdc196b743c4224ffa59fef38133559c1fd2a5e diff --git a/trunk/net/mac80211/cfg.c b/trunk/net/mac80211/cfg.c index f4db30624f67..9b179309e073 100644 --- a/trunk/net/mac80211/cfg.c +++ b/trunk/net/mac80211/cfg.c @@ -2088,7 +2088,8 @@ static int ieee80211_set_mcast_rate(struct wiphy *wiphy, struct net_device *dev, { struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); - memcpy(sdata->vif.bss_conf.mcast_rate, rate, sizeof(rate)); + memcpy(sdata->vif.bss_conf.mcast_rate, rate, + sizeof(int) * IEEE80211_NUM_BANDS); return 0; } diff --git a/trunk/net/mac80211/mlme.c b/trunk/net/mac80211/mlme.c index 99be3b61a225..ac1374a8c30a 100644 --- a/trunk/net/mac80211/mlme.c +++ b/trunk/net/mac80211/mlme.c @@ -3488,6 +3488,7 @@ ieee80211_determine_chantype(struct ieee80211_sub_if_data *sdata, ret = 0; +out: while (!cfg80211_chandef_usable(sdata->local->hw.wiphy, chandef, IEEE80211_CHAN_DISABLED)) { if (WARN_ON(chandef->width == NL80211_CHAN_WIDTH_20_NOHT)) { @@ -3496,14 +3497,13 @@ ieee80211_determine_chantype(struct ieee80211_sub_if_data *sdata, goto out; } - ret = chandef_downgrade(chandef); + ret |= chandef_downgrade(chandef); } if (chandef->width != vht_chandef.width) sdata_info(sdata, - "local regulatory prevented using AP HT/VHT configuration, downgraded\n"); + "capabilities/regulatory prevented using AP HT/VHT configuration, downgraded\n"); -out: WARN_ON_ONCE(!cfg80211_chandef_valid(chandef)); return ret; } @@ -3617,8 +3617,11 @@ static int ieee80211_prep_channel(struct ieee80211_sub_if_data *sdata, */ ret = ieee80211_vif_use_channel(sdata, &chandef, IEEE80211_CHANCTX_SHARED); - while (ret && chandef.width != NL80211_CHAN_WIDTH_20_NOHT) + while (ret && chandef.width != NL80211_CHAN_WIDTH_20_NOHT) { ifmgd->flags |= chandef_downgrade(&chandef); + ret = ieee80211_vif_use_channel(sdata, &chandef, + IEEE80211_CHANCTX_SHARED); + } return ret; } diff --git a/trunk/net/wireless/scan.c b/trunk/net/wireless/scan.c index f0d9b5154bab..674aadca0079 100644 --- a/trunk/net/wireless/scan.c +++ b/trunk/net/wireless/scan.c @@ -1398,7 +1398,7 @@ ieee80211_bss(struct wiphy *wiphy, struct iw_request_info *info, &iwe, IW_EV_UINT_LEN); } - buf = kmalloc(30, GFP_ATOMIC); + buf = kmalloc(31, GFP_ATOMIC); if (buf) { memset(&iwe, 0, sizeof(iwe)); iwe.cmd = IWEVCUSTOM;