aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2008-03-19 19:41:42 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-03-25 16:41:52 -0400
commit17e476b8db13790c03e2c46d93abc71468fca47e (patch)
tree8981190d5696cb984939a1fbca8dab4120aa33c4 /drivers/net/wireless/iwlwifi/iwl4965-base.c
parentdeb09c435e3f947f8b2c9d5df6a9c0a5b472b125 (diff)
iwlwifi-2.6: RX status translation to old scheme
This patch adds translation for the RX status of an incoming packet. The incoming status has to be translated to the old scheme in order to know if the decryption has been done, MIC failure has occured, TTAK is valid etc... This translation is mandatory for all RX packets when using 5300 and for all HT packets using 4965. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index fc3e23a2d8eb..8de301d1da8e 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -2856,6 +2856,12 @@ void iwl4965_set_decrypted_flag(struct iwl_priv *priv, struct sk_buff *skb,
2856 IWL_DEBUG_RX("decrypt_res:0x%x\n", decrypt_res); 2856 IWL_DEBUG_RX("decrypt_res:0x%x\n", decrypt_res);
2857 switch (decrypt_res & RX_RES_STATUS_SEC_TYPE_MSK) { 2857 switch (decrypt_res & RX_RES_STATUS_SEC_TYPE_MSK) {
2858 case RX_RES_STATUS_SEC_TYPE_TKIP: 2858 case RX_RES_STATUS_SEC_TYPE_TKIP:
2859 /* The uCode has got a bad phase 1 Key, pushes the packet.
2860 * Decryption will be done in SW. */
2861 if ((decrypt_res & RX_RES_STATUS_DECRYPT_TYPE_MSK) ==
2862 RX_RES_STATUS_BAD_KEY_TTAK)
2863 break;
2864
2859 if ((decrypt_res & RX_RES_STATUS_DECRYPT_TYPE_MSK) == 2865 if ((decrypt_res & RX_RES_STATUS_DECRYPT_TYPE_MSK) ==
2860 RX_RES_STATUS_BAD_ICV_MIC) 2866 RX_RES_STATUS_BAD_ICV_MIC)
2861 stats->flag |= RX_FLAG_MMIC_ERROR; 2867 stats->flag |= RX_FLAG_MMIC_ERROR;