aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-02-18 08:57:42 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-02-18 12:26:24 -0500
commit8c6d59ee3509acd474365c34db291b950d2e66bf (patch)
tree82552957ddaff328b600ab162bfa919b21a342e3 /net/wireless
parentc39ac036add6b0696fb61b4d4733d671ca031723 (diff)
cfg80211: fix station change if TDLS isn't supported
Larry noticed (and bisected) that commit df881293c6ba9a12868491a717b25 "cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station" broke secure connections. This is is the case only for drivers that don't support TDLS, where any kind of change, even just the change of authorized flag that is required for normal operation, was rejected now. To fix this, remove the checks. I have some patches that will add proper verification for all the different cases later. Cc: Jouni Malinen <j@w1.fi> Bisected-by: Larry Finger <Larry.Finger@lwfinger.net> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/nl80211.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 580ffeaef3d5..35545ccc30fd 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -3418,19 +3418,10 @@ nl80211_sta_wme_policy[NL80211_STA_WME_MAX + 1] __read_mostly = {
3418static int nl80211_set_station_tdls(struct genl_info *info, 3418static int nl80211_set_station_tdls(struct genl_info *info,
3419 struct station_parameters *params) 3419 struct station_parameters *params)
3420{ 3420{
3421 struct cfg80211_registered_device *rdev = info->user_ptr[0];
3422 struct nlattr *tb[NL80211_STA_WME_MAX + 1]; 3421 struct nlattr *tb[NL80211_STA_WME_MAX + 1];
3423 struct nlattr *nla; 3422 struct nlattr *nla;
3424 int err; 3423 int err;
3425 3424
3426 /* Can only set if TDLS ... */
3427 if (!(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_TDLS))
3428 return -EOPNOTSUPP;
3429
3430 /* ... with external setup is supported */
3431 if (!(rdev->wiphy.flags & WIPHY_FLAG_TDLS_EXTERNAL_SETUP))
3432 return -EOPNOTSUPP;
3433
3434 /* Dummy STA entry gets updated once the peer capabilities are known */ 3425 /* Dummy STA entry gets updated once the peer capabilities are known */
3435 if (info->attrs[NL80211_ATTR_HT_CAPABILITY]) 3426 if (info->attrs[NL80211_ATTR_HT_CAPABILITY])
3436 params->ht_capa = 3427 params->ht_capa =