aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/driver_atheros.c
diff options
context:
space:
mode:
authorMahesh Palivela <Mahesh.Palivela@Atheros.com>2011-04-08 09:06:27 (GMT)
committerJouni Malinen <j@w1.fi>2011-04-08 09:06:27 (GMT)
commita1ca02927aba6d95697c6e87ec6eff4c39135dec (patch)
tree465f6ea8287aea7c05e6d16dbbe931af9b9b361e /src/drivers/driver_atheros.c
parent3f3602386e21d1931fb8f37390f4259e6f367920 (diff)
downloadhostap-a1ca02927aba6d95697c6e87ec6eff4c39135dec.zip
hostap-a1ca02927aba6d95697c6e87ec6eff4c39135dec.tar.gz
hostap-a1ca02927aba6d95697c6e87ec6eff4c39135dec.tar.bz2
atheros: Add support for IEEE 802.11w configuration
Diffstat (limited to 'src/drivers/driver_atheros.c')
-rw-r--r--src/drivers/driver_atheros.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/drivers/driver_atheros.c b/src/drivers/driver_atheros.c
index 8f24798..6ac1cea 100644
--- a/src/drivers/driver_atheros.c
+++ b/src/drivers/driver_atheros.c
@@ -315,6 +315,14 @@ atheros_configure_wpa(struct atheros_driver_data *drv,
v = 0;
if (params->rsn_preauth)
v |= BIT(0);
+#ifdef CONFIG_IEEE80211W
+ if (params->ieee80211w != NO_MGMT_FRAME_PROTECTION) {
+ v |= BIT(7);
+ if (params->ieee80211w == MGMT_FRAME_PROTECTION_REQUIRED)
+ v |= BIT(6);
+ }
+#endif /* CONFIG_IEEE80211W */
+
wpa_printf(MSG_DEBUG, "%s: rsn capabilities=0x%x",
__func__, params->rsn_preauth);
if (set80211param(drv, IEEE80211_PARAM_RSNCAPS, v)) {
@@ -466,6 +474,11 @@ atheros_set_key(const char *ifname, void *priv, enum wpa_alg alg,
case WPA_ALG_CCMP:
cipher = IEEE80211_CIPHER_AES_CCM;
break;
+#ifdef CONFIG_IEEE80211W
+ case WPA_ALG_IGTK:
+ cipher = IEEE80211_CIPHER_AES_CMAC;
+ break;
+#endif /* CONFIG_IEEE80211W */
default:
printf("%s: unknown/unsupported algorithm %d\n",
__func__, alg);