Lines Matching refs:rx

94 ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx)  in ieee80211_rx_h_michael_mic_verify()  argument
100 struct sk_buff *skb = rx->skb; in ieee80211_rx_h_michael_mic_verify()
121 if (!(status->flag & RX_FLAG_IV_STRIPPED) && rx->key && in ieee80211_rx_h_michael_mic_verify()
122 rx->key->conf.cipher == WLAN_CIPHER_SUITE_TKIP) in ieee80211_rx_h_michael_mic_verify()
133 if (!rx->key || rx->key->conf.cipher != WLAN_CIPHER_SUITE_TKIP || in ieee80211_rx_h_michael_mic_verify()
137 if (rx->sdata->vif.type == NL80211_IFTYPE_AP && rx->key->conf.keyidx) { in ieee80211_rx_h_michael_mic_verify()
154 if (skb_linearize(rx->skb)) in ieee80211_rx_h_michael_mic_verify()
160 key = &rx->key->conf.key[NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY]; in ieee80211_rx_h_michael_mic_verify()
170 rx->key->u.tkip.rx[rx->security_idx].iv32 = rx->tkip_iv32; in ieee80211_rx_h_michael_mic_verify()
171 rx->key->u.tkip.rx[rx->security_idx].iv16 = rx->tkip_iv16; in ieee80211_rx_h_michael_mic_verify()
176 rx->key->u.tkip.mic_failures++; in ieee80211_rx_h_michael_mic_verify()
184 cfg80211_michael_mic_failure(rx->sdata->dev, hdr->addr2, in ieee80211_rx_h_michael_mic_verify()
188 rx->key ? rx->key->conf.keyidx : -1, in ieee80211_rx_h_michael_mic_verify()
264 ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_tkip_decrypt() argument
266 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) rx->skb->data; in ieee80211_crypto_tkip_decrypt()
268 struct ieee80211_key *key = rx->key; in ieee80211_crypto_tkip_decrypt()
269 struct sk_buff *skb = rx->skb; in ieee80211_crypto_tkip_decrypt()
277 if (!rx->sta || skb->len - hdrlen < 12) in ieee80211_crypto_tkip_decrypt()
281 if (skb_linearize(rx->skb)) in ieee80211_crypto_tkip_decrypt()
293 res = ieee80211_tkip_decrypt_data(&rx->local->wep_rx_ctx, in ieee80211_crypto_tkip_decrypt()
295 skb->len - hdrlen, rx->sta->sta.addr, in ieee80211_crypto_tkip_decrypt()
296 hdr->addr1, hwaccel, rx->security_idx, in ieee80211_crypto_tkip_decrypt()
297 &rx->tkip_iv32, in ieee80211_crypto_tkip_decrypt()
298 &rx->tkip_iv16); in ieee80211_crypto_tkip_decrypt()
494 ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx, in ieee80211_crypto_ccmp_decrypt() argument
497 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_crypto_ccmp_decrypt()
499 struct ieee80211_key *key = rx->key; in ieee80211_crypto_ccmp_decrypt()
500 struct sk_buff *skb = rx->skb; in ieee80211_crypto_ccmp_decrypt()
513 if (!pskb_may_pull(rx->skb, hdrlen + IEEE80211_CCMP_HDR_LEN)) in ieee80211_crypto_ccmp_decrypt()
518 if (skb_linearize(rx->skb)) in ieee80211_crypto_ccmp_decrypt()
523 if (!rx->sta || data_len < 0) in ieee80211_crypto_ccmp_decrypt()
531 queue = rx->security_idx; in ieee80211_crypto_ccmp_decrypt()
723 ieee80211_crypto_gcmp_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_gcmp_decrypt() argument
725 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_crypto_gcmp_decrypt()
727 struct ieee80211_key *key = rx->key; in ieee80211_crypto_gcmp_decrypt()
728 struct sk_buff *skb = rx->skb; in ieee80211_crypto_gcmp_decrypt()
740 if (!pskb_may_pull(rx->skb, hdrlen + IEEE80211_GCMP_HDR_LEN)) in ieee80211_crypto_gcmp_decrypt()
745 if (skb_linearize(rx->skb)) in ieee80211_crypto_gcmp_decrypt()
750 if (!rx->sta || data_len < 0) in ieee80211_crypto_gcmp_decrypt()
758 queue = rx->security_idx; in ieee80211_crypto_gcmp_decrypt()
839 ieee80211_crypto_cs_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_cs_decrypt() argument
841 struct ieee80211_key *key = rx->key; in ieee80211_crypto_cs_decrypt()
842 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_crypto_cs_decrypt()
845 struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb); in ieee80211_crypto_cs_decrypt()
851 if (!rx->sta || !rx->sta->cipher_scheme || in ieee80211_crypto_cs_decrypt()
858 cs = rx->sta->cipher_scheme; in ieee80211_crypto_cs_decrypt()
860 data_len = rx->skb->len - hdrlen - cs->hdr_len; in ieee80211_crypto_cs_decrypt()
870 if (skb_linearize(rx->skb)) in ieee80211_crypto_cs_decrypt()
873 hdr = (struct ieee80211_hdr *)rx->skb->data; in ieee80211_crypto_cs_decrypt()
876 skb_pn = rx->skb->data + hdrlen + cs->pn_off; in ieee80211_crypto_cs_decrypt()
884 if (pskb_trim(rx->skb, rx->skb->len - cs->mic_len)) in ieee80211_crypto_cs_decrypt()
887 memmove(rx->skb->data + cs->hdr_len, rx->skb->data, hdrlen); in ieee80211_crypto_cs_decrypt()
888 skb_pull(rx->skb, cs->hdr_len); in ieee80211_crypto_cs_decrypt()
1024 ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_aes_cmac_decrypt() argument
1026 struct sk_buff *skb = rx->skb; in ieee80211_crypto_aes_cmac_decrypt()
1028 struct ieee80211_key *key = rx->key; in ieee80211_crypto_aes_cmac_decrypt()
1074 ieee80211_crypto_aes_cmac_256_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_aes_cmac_256_decrypt() argument
1076 struct sk_buff *skb = rx->skb; in ieee80211_crypto_aes_cmac_256_decrypt()
1078 struct ieee80211_key *key = rx->key; in ieee80211_crypto_aes_cmac_256_decrypt()
1173 ieee80211_crypto_aes_gmac_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_aes_gmac_decrypt() argument
1175 struct sk_buff *skb = rx->skb; in ieee80211_crypto_aes_gmac_decrypt()
1177 struct ieee80211_key *key = rx->key; in ieee80211_crypto_aes_gmac_decrypt()
1259 ieee80211_crypto_hw_decrypt(struct ieee80211_rx_data *rx) in ieee80211_crypto_hw_decrypt() argument
1261 if (rx->sta && rx->sta->cipher_scheme) in ieee80211_crypto_hw_decrypt()
1262 return ieee80211_crypto_cs_decrypt(rx); in ieee80211_crypto_hw_decrypt()