Commit 622fce81 authored by Alexander Wetzel's avatar Alexander Wetzel Committed by Johannes Berg

mac80211: Fix Extended Key ID auto activation

Only enable Extended Key ID support for drivers which are not supporting
crypto offload and also do not support A-MPDU.

While any driver using SW crypto from mac80211 is generally able to also
support Extended Key ID these drivers are likely to mix keyIDs in
AMPDUs when rekeying.

According to IEEE 802.11-2016 "9.7.3 A-MPDU contents" this is not
allowed.
Signed-off-by: default avatarAlexander Wetzel <alexander@wetzel-home.de>
[reword comment a bit, move ! into logic expression]
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 5809a5d5
...@@ -1051,7 +1051,11 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) ...@@ -1051,7 +1051,11 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
} }
} }
if (!local->ops->set_key || /* Enable Extended Key IDs when driver allowed it, or when it
* supports neither HW crypto nor A-MPDUs
*/
if ((!local->ops->set_key &&
!ieee80211_hw_check(hw, AMPDU_AGGREGATION)) ||
ieee80211_hw_check(&local->hw, EXT_KEY_ID_NATIVE)) ieee80211_hw_check(&local->hw, EXT_KEY_ID_NATIVE))
wiphy_ext_feature_set(local->hw.wiphy, wiphy_ext_feature_set(local->hw.wiphy,
NL80211_EXT_FEATURE_EXT_KEY_ID); NL80211_EXT_FEATURE_EXT_KEY_ID);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment