diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-03-12 08:49:14 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-03-13 14:54:17 -0400 |
commit | a8286911881948c7a2ecc63ee4224c258cce2da3 (patch) | |
tree | a35566503b81c654db55857f42fe9664d0aab3af /net/mac80211/rx.c | |
parent | 617bbde878604adfcd557fc2a8952f77ab4ebd95 (diff) |
mac80211: linearize SKBs as needed for crypto
Not linearizing every SKB will help actually pass
non-linear SKBs all the way up when on an encrypted
connection. For now, linearize TKIP completely as
it is lower performance and I don't quite grok all
the details.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index b38da13e2a88..53c88d145472 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -1063,10 +1063,6 @@ ieee80211_rx_h_decrypt(struct ieee80211_rx_data *rx) | |||
1063 | return RX_DROP_MONITOR; | 1063 | return RX_DROP_MONITOR; |
1064 | } | 1064 | } |
1065 | 1065 | ||
1066 | if (skb_linearize(rx->skb)) | ||
1067 | return RX_DROP_UNUSABLE; | ||
1068 | /* the hdr variable is invalid now! */ | ||
1069 | |||
1070 | switch (rx->key->conf.cipher) { | 1066 | switch (rx->key->conf.cipher) { |
1071 | case WLAN_CIPHER_SUITE_WEP40: | 1067 | case WLAN_CIPHER_SUITE_WEP40: |
1072 | case WLAN_CIPHER_SUITE_WEP104: | 1068 | case WLAN_CIPHER_SUITE_WEP104: |
@@ -1089,6 +1085,8 @@ ieee80211_rx_h_decrypt(struct ieee80211_rx_data *rx) | |||
1089 | return RX_DROP_UNUSABLE; | 1085 | return RX_DROP_UNUSABLE; |
1090 | } | 1086 | } |
1091 | 1087 | ||
1088 | /* the hdr variable is invalid after the decrypt handlers */ | ||
1089 | |||
1092 | /* either the frame has been decrypted or will be dropped */ | 1090 | /* either the frame has been decrypted or will be dropped */ |
1093 | status->flag |= RX_FLAG_DECRYPTED; | 1091 | status->flag |= RX_FLAG_DECRYPTED; |
1094 | 1092 | ||