iwlwifi: mvm: set the encryption type of an IGTK key
authorAyala Beker <ayala.beker@intel.com>
Tue, 31 May 2016 21:28:09 +0000 (00:28 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 10 Jun 2016 10:48:12 +0000 (13:48 +0300)
The FW expect the driver to set the encryption algorithm type when
installing the IGTK key in the HW.
Currently when installing CMAC IGTK key we don't set the algorithm type
and as a result the FW fails to calculate the MIC of multicast management
frames.
Fix it.

Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/sta.c

index 0454bfe0ef6ca1cd32d482e045cf19d174ca08bf..b23ab4a4504f7f140877ff734682b92607e276b6 100644 (file)
@@ -1961,6 +1961,14 @@ static int iwl_mvm_send_sta_igtk(struct iwl_mvm *mvm,
                struct ieee80211_key_seq seq;
                const u8 *pn;
 
+               switch (keyconf->cipher) {
+               case WLAN_CIPHER_SUITE_AES_CMAC:
+                       igtk_cmd.ctrl_flags |= cpu_to_le32(STA_KEY_FLG_CCM);
+                       break;
+               default:
+                       return -EINVAL;
+               }
+
                memcpy(igtk_cmd.IGTK, keyconf->key, keyconf->keylen);
                ieee80211_get_key_rx_seq(keyconf, 0, &seq);
                pn = seq.aes_cmac.pn;
This page took 0.026133 seconds and 5 git commands to generate.