Merge "msm: ipa: fix split packet handling"

This commit is contained in:
Linux Build Service Account 2016-12-20 14:04:30 -08:00 committed by Gerrit - the friendly Code Review server
commit 8a0ab369eb

View file

@ -2328,6 +2328,7 @@ static int ipa_lan_rx_pyld_hdlr(struct sk_buff *skb,
unsigned int used = *(unsigned int *)skb->cb; unsigned int used = *(unsigned int *)skb->cb;
unsigned int used_align = ALIGN(used, 32); unsigned int used_align = ALIGN(used, 32);
unsigned long unused = IPA_GENERIC_RX_BUFF_BASE_SZ - used; unsigned long unused = IPA_GENERIC_RX_BUFF_BASE_SZ - used;
u32 skb2_len;
IPA_DUMP_BUFF(skb->data, 0, skb->len); IPA_DUMP_BUFF(skb->data, 0, skb->len);
@ -2510,8 +2511,9 @@ begin:
sys->drop_packet = true; sys->drop_packet = true;
} }
skb2 = ipa_skb_copy_for_client(skb, skb2_len = status->pkt_len + IPA_PKT_STATUS_SIZE;
status->pkt_len + IPA_PKT_STATUS_SIZE); skb2_len = min(skb2_len, skb->len);
skb2 = ipa_skb_copy_for_client(skb, skb2_len);
if (likely(skb2)) { if (likely(skb2)) {
if (skb->len < len + IPA_PKT_STATUS_SIZE) { if (skb->len < len + IPA_PKT_STATUS_SIZE) {
IPADBG("SPL skb len %d len %d\n", IPADBG("SPL skb len %d len %d\n",