diff mbox

ath9k: Support RSN IBSS

Message ID 20110323125219.GA26467@jm.kir.nu (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Jouni Malinen March 23, 2011, 12:52 p.m. UTC
None
diff mbox

Patch

--- wireless-testing.orig/drivers/net/wireless/ath/ath9k/init.c	2011-03-23 14:14:12.000000000 +0200
+++ wireless-testing/drivers/net/wireless/ath/ath9k/init.c	2011-03-23 14:15:04.000000000 +0200
@@ -690,6 +690,8 @@  void ath9k_set_hw_capab(struct ath_softc
 	if (AR_SREV_5416(sc->sc_ah))
 		hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
 
+	hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
+
 	hw->queues = 4;
 	hw->max_rates = 4;
 	hw->channel_change_time = 5000;
--- wireless-testing.orig/drivers/net/wireless/ath/ath9k/main.c	2011-03-23 14:12:59.000000000 +0200
+++ wireless-testing/drivers/net/wireless/ath/ath9k/main.c	2011-03-23 14:15:04.000000000 +0200
@@ -1845,6 +1845,20 @@  static int ath9k_set_key(struct ieee8021
 	if (ath9k_modparam_nohwcrypt)
 		return -ENOSPC;
 
+	if (vif->type == NL80211_IFTYPE_ADHOC &&
+	    (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(&sc->mutex);
 	ath9k_ps_wakeup(sc);
 	ath_dbg(common, ATH_DBG_CONFIG, "Set HW Key\n");