diff options
author | Zhu Yi <yi.zhu@intel.com> | 2005-09-12 11:48:48 -0400 |
---|---|---|
committer | James Ketrenos <jketreno@linux.intel.com> | 2005-11-07 18:51:44 -0500 |
commit | f4ff497d45c7071166277a39590cc59b50dc893c (patch) | |
tree | 1db4370e38cc2ba866dc6068fadee23f8f587590 /drivers | |
parent | 29cb843e6457c45c4a257a0d2080da3fd7fb9d1e (diff) |
[Fix bug# 771] Too many (8) bytes recieved when using AES/hwcrypto
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index 217b6579e901..549f582551e5 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -7877,10 +7877,7 @@ static void ipw_rebuild_decrypted_skb(struct ipw_priv *priv, | |||
7877 | memmove(skb->data + IEEE80211_3ADDR_LEN, | 7877 | memmove(skb->data + IEEE80211_3ADDR_LEN, |
7878 | skb->data + IEEE80211_3ADDR_LEN + 8, | 7878 | skb->data + IEEE80211_3ADDR_LEN + 8, |
7879 | skb->len - IEEE80211_3ADDR_LEN - 8); | 7879 | skb->len - IEEE80211_3ADDR_LEN - 8); |
7880 | if (fc & IEEE80211_FCTL_MOREFRAGS) | 7880 | skb_trim(skb, skb->len - 16); /* CCMP_HDR_LEN + CCMP_MIC_LEN */ |
7881 | skb_trim(skb, skb->len - 16); /* 2*MIC */ | ||
7882 | else | ||
7883 | skb_trim(skb, skb->len - 8); /* MIC */ | ||
7884 | break; | 7881 | break; |
7885 | case SEC_LEVEL_2: | 7882 | case SEC_LEVEL_2: |
7886 | break; | 7883 | break; |
@@ -7889,10 +7886,7 @@ static void ipw_rebuild_decrypted_skb(struct ipw_priv *priv, | |||
7889 | memmove(skb->data + IEEE80211_3ADDR_LEN, | 7886 | memmove(skb->data + IEEE80211_3ADDR_LEN, |
7890 | skb->data + IEEE80211_3ADDR_LEN + 4, | 7887 | skb->data + IEEE80211_3ADDR_LEN + 4, |
7891 | skb->len - IEEE80211_3ADDR_LEN - 4); | 7888 | skb->len - IEEE80211_3ADDR_LEN - 4); |
7892 | if (fc & IEEE80211_FCTL_MOREFRAGS) | 7889 | skb_trim(skb, skb->len - 8); /* IV + ICV */ |
7893 | skb_trim(skb, skb->len - 8); /* 2*ICV */ | ||
7894 | else | ||
7895 | skb_trim(skb, skb->len - 4); /* ICV */ | ||
7896 | break; | 7890 | break; |
7897 | case SEC_LEVEL_0: | 7891 | case SEC_LEVEL_0: |
7898 | break; | 7892 | break; |