@@ -1167,7 +1167,8 @@ build_ie:
* also indicates support.
*/
if (wiphy_supports_ext_key_id(wiphy) && bss_info.extended_key_id &&
- info.pairwise_ciphers == IE_RSN_CIPHER_SUITE_CCMP)
+ (info.pairwise_ciphers & (IE_RSN_CIPHER_SUITE_CCMP |
+ IE_RSN_CIPHER_SUITE_GCMP)))
info.extended_key_id = true;
/* RSN takes priority */
@@ -150,7 +150,9 @@ enum ie_rsn_cipher_suite wiphy_select_cipher(struct wiphy *wiphy, uint16_t mask)
mask &= wiphy->supported_ciphers;
- /* CCMP is our first choice, TKIP second */
+ if (mask & IE_RSN_CIPHER_SUITE_GCMP)
+ return IE_RSN_CIPHER_SUITE_GCMP;
+
if (mask & IE_RSN_CIPHER_SUITE_CCMP)
return IE_RSN_CIPHER_SUITE_CCMP;
@@ -1234,6 +1236,9 @@ static void parse_supported_ciphers(struct wiphy *wiphy, const void *data,
wiphy->supported_ciphers |=
IE_RSN_CIPHER_SUITE_BIP_CMAC;
break;
+ case CRYPTO_CIPHER_GCMP:
+ wiphy->supported_ciphers |= IE_RSN_CIPHER_SUITE_GCMP;
+ break;
default: /* TODO: Support other ciphers */
break;
}