diff options
Diffstat (limited to 'net/mac80211/wpa.c')
| -rw-r--r-- | net/mac80211/wpa.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/net/mac80211/wpa.c b/net/mac80211/wpa.c index 422b79851ec5..b758350919ff 100644 --- a/net/mac80211/wpa.c +++ b/net/mac80211/wpa.c | |||
| @@ -643,3 +643,22 @@ ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx) | |||
| 643 | 643 | ||
| 644 | return RX_CONTINUE; | 644 | return RX_CONTINUE; |
| 645 | } | 645 | } |
| 646 | |||
| 647 | ieee80211_tx_result | ||
| 648 | ieee80211_crypto_hw_encrypt(struct ieee80211_tx_data *tx) | ||
| 649 | { | ||
| 650 | struct sk_buff *skb; | ||
| 651 | struct ieee80211_tx_info *info = NULL; | ||
| 652 | |||
| 653 | skb_queue_walk(&tx->skbs, skb) { | ||
| 654 | info = IEEE80211_SKB_CB(skb); | ||
| 655 | |||
| 656 | /* handle hw-only algorithm */ | ||
| 657 | if (!info->control.hw_key) | ||
| 658 | return TX_DROP; | ||
| 659 | } | ||
| 660 | |||
| 661 | ieee80211_tx_set_protected(tx); | ||
| 662 | |||
| 663 | return TX_CONTINUE; | ||
| 664 | } | ||
