diff options
author | Ben Greear <greearb@candelatech.com> | 2011-11-18 11:31:59 -0800 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-21 16:22:06 -0500 |
commit | 7e7c8926b2f4e3453b8aeb39cd814d2af3fec24f (patch) | |
tree | e22df42bf84d6ea3cb67ae0e332d7d7d10cca4b4 /net/wireless/sme.c | |
parent | dd76986b0e398978ca32dd60c1b7dc50ab4e9ae1 (diff) | |
download | blackbird-op-linux-7e7c8926b2f4e3453b8aeb39cd814d2af3fec24f.tar.gz blackbird-op-linux-7e7c8926b2f4e3453b8aeb39cd814d2af3fec24f.zip |
wireless: Support ht-capabilities over-rides.
This allows users to disable features such as HT, HT40,
and to modify the MCS, AMPDU, and AMSDU settings for
drivers that support it.
The MCS, AMPDU, and AMSDU features that may be disabled are
are reported in the phy-info netlink message as a mask.
Attemping to disable features that are not supported will
take no affect, but will not return errors. This is to aid
backwards compatibility in user-space apps that may not be
clever enough to deal with parsing the the capabilities mask.
This patch only enables the infrastructure. An additional
patch will enable the feature in mac80211.
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/sme.c')
-rw-r--r-- | net/wireless/sme.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 6e86d5acf145..ed9d0e6f4a06 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c @@ -189,7 +189,9 @@ static int cfg80211_conn_do_work(struct wireless_dev *wdev) prev_bssid, params->ssid, params->ssid_len, params->ie, params->ie_len, - false, ¶ms->crypto); + false, ¶ms->crypto, + params->flags, ¶ms->ht_capa, + ¶ms->ht_capa_mask); if (err) __cfg80211_mlme_deauth(rdev, wdev->netdev, params->bssid, NULL, 0, @@ -773,6 +775,9 @@ int __cfg80211_connect(struct cfg80211_registered_device *rdev, wdev->connect_keys = NULL; } + cfg80211_oper_and_ht_capa(&connect->ht_capa_mask, + rdev->wiphy.ht_capa_mod_mask); + if (connkeys && connkeys->def >= 0) { int idx; u32 cipher; |