summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2200.c
diff options
context:
space:
mode:
authorZhu Yi2005-09-12 17:48:48 +0200
committerJames Ketrenos2005-11-08 00:51:44 +0100
commitf4ff497d45c7071166277a39590cc59b50dc893c (patch)
tree1db4370e38cc2ba866dc6068fadee23f8f587590 /drivers/net/wireless/ipw2200.c
parentFixes problem with WEP not working (association succeeds, but no Tx/Rx) (diff)
downloadkernel-qcow2-linux-f4ff497d45c7071166277a39590cc59b50dc893c.tar.gz
kernel-qcow2-linux-f4ff497d45c7071166277a39590cc59b50dc893c.tar.xz
kernel-qcow2-linux-f4ff497d45c7071166277a39590cc59b50dc893c.zip
[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/net/wireless/ipw2200.c')
-rw-r--r--drivers/net/wireless/ipw2200.c10
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,
memmove(skb->data + IEEE80211_3ADDR_LEN,
skb->data + IEEE80211_3ADDR_LEN + 8,
skb->len - IEEE80211_3ADDR_LEN - 8);
- if (fc & IEEE80211_FCTL_MOREFRAGS)
- skb_trim(skb, skb->len - 16); /* 2*MIC */
- else
- skb_trim(skb, skb->len - 8); /* MIC */
+ skb_trim(skb, skb->len - 16); /* CCMP_HDR_LEN + CCMP_MIC_LEN */
break;
case SEC_LEVEL_2:
break;
@@ -7889,10 +7886,7 @@ static void ipw_rebuild_decrypted_skb(struct ipw_priv *priv,
memmove(skb->data + IEEE80211_3ADDR_LEN,
skb->data + IEEE80211_3ADDR_LEN + 4,
skb->len - IEEE80211_3ADDR_LEN - 4);
- if (fc & IEEE80211_FCTL_MOREFRAGS)
- skb_trim(skb, skb->len - 8); /* 2*ICV */
- else
- skb_trim(skb, skb->len - 4); /* ICV */
+ skb_trim(skb, skb->len - 8); /* IV + ICV */
break;
case SEC_LEVEL_0:
break;