[Fix bug# 771] Too many (8) bytes recieved when using AES/hwcrypto
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
This commit is contained in:
@@ -7877,10 +7877,7 @@ static void ipw_rebuild_decrypted_skb(struct ipw_priv *priv,
|
|||||||
memmove(skb->data + IEEE80211_3ADDR_LEN,
|
memmove(skb->data + IEEE80211_3ADDR_LEN,
|
||||||
skb->data + IEEE80211_3ADDR_LEN + 8,
|
skb->data + IEEE80211_3ADDR_LEN + 8,
|
||||||
skb->len - IEEE80211_3ADDR_LEN - 8);
|
skb->len - IEEE80211_3ADDR_LEN - 8);
|
||||||
if (fc & IEEE80211_FCTL_MOREFRAGS)
|
skb_trim(skb, skb->len - 16); /* CCMP_HDR_LEN + CCMP_MIC_LEN */
|
||||||
skb_trim(skb, skb->len - 16); /* 2*MIC */
|
|
||||||
else
|
|
||||||
skb_trim(skb, skb->len - 8); /* MIC */
|
|
||||||
break;
|
break;
|
||||||
case SEC_LEVEL_2:
|
case SEC_LEVEL_2:
|
||||||
break;
|
break;
|
||||||
@@ -7889,10 +7886,7 @@ static void ipw_rebuild_decrypted_skb(struct ipw_priv *priv,
|
|||||||
memmove(skb->data + IEEE80211_3ADDR_LEN,
|
memmove(skb->data + IEEE80211_3ADDR_LEN,
|
||||||
skb->data + IEEE80211_3ADDR_LEN + 4,
|
skb->data + IEEE80211_3ADDR_LEN + 4,
|
||||||
skb->len - IEEE80211_3ADDR_LEN - 4);
|
skb->len - IEEE80211_3ADDR_LEN - 4);
|
||||||
if (fc & IEEE80211_FCTL_MOREFRAGS)
|
skb_trim(skb, skb->len - 8); /* IV + ICV */
|
||||||
skb_trim(skb, skb->len - 8); /* 2*ICV */
|
|
||||||
else
|
|
||||||
skb_trim(skb, skb->len - 4); /* ICV */
|
|
||||||
break;
|
break;
|
||||||
case SEC_LEVEL_0:
|
case SEC_LEVEL_0:
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user