mirror of https://gitee.com/openkylin/linux.git
ath9k_htc: claim support for IBSS RSN
Skip group keys configuration in hardware in order to make IBSS RSN work. Keys will be managed using software. Signed-off-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
019c4fbaa7
commit
d7d312cab4
|
@ -741,6 +741,8 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
|
|||
|
||||
hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
|
||||
|
||||
hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
|
||||
|
||||
hw->queues = 4;
|
||||
hw->channel_change_time = 5000;
|
||||
hw->max_listen_interval = 10;
|
||||
|
|
|
@ -1409,6 +1409,21 @@ static int ath9k_htc_set_key(struct ieee80211_hw *hw,
|
|||
if (htc_modparam_nohwcrypt)
|
||||
return -ENOSPC;
|
||||
|
||||
if ((vif->type == NL80211_IFTYPE_ADHOC ||
|
||||
vif->type == NL80211_IFTYPE_MESH_POINT) &&
|
||||
(key->cipher == WLAN_CIPHER_SUITE_TKIP ||
|
||||
key->cipher == WLAN_CIPHER_SUITE_CCMP) &&
|
||||
!(key->flags & IEEE80211_KEY_FLAG_PAIRWISE)) {
|
||||
/*
|
||||
* For now, disable hw crypto for the RSN IBSS group keys. This
|
||||
* could be optimized in the future to use a modified key cache
|
||||
* design to support per-STA RX GTK, but until that gets
|
||||
* implemented, use of software crypto for group addressed
|
||||
* frames is a acceptable to allow RSN IBSS to be used.
|
||||
*/
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
ath_dbg(common, CONFIG, "Set HW Key\n");
|
||||
ath9k_htc_ps_wakeup(priv);
|
||||
|
|
Loading…
Reference in New Issue