msm: bam_dmux: manipulate skb->truesize per packet

The truesize field of a skb is used by the TCP/IP framework to determine
the memory usage of a socket, and to control the TCP window size.  Since
the original skb buffer was preallocated before the packet size from BAM
was known, the truesize field is not accurate and results in the TCP window
closing faster than it should.

Manually change the truesize field in the skbs to accurately reflect the
size of each packet so that the TCP/IP framework has accurate data to base
it's statistics on.

CRs-Fixed: 310689
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
diff --git a/arch/arm/mach-msm/bam_dmux.c b/arch/arm/mach-msm/bam_dmux.c
index 728dbf1..5ed4456 100644
--- a/arch/arm/mach-msm/bam_dmux.c
+++ b/arch/arm/mach-msm/bam_dmux.c
@@ -201,6 +201,7 @@
 	rx_skb->data = (unsigned char *)(rx_hdr + 1);
 	rx_skb->tail = rx_skb->data + rx_hdr->pkt_len;
 	rx_skb->len = rx_hdr->pkt_len;
+	rx_skb->truesize = rx_hdr->pkt_len + sizeof(struct sk_buff);
 
 	event_data = (unsigned long)(rx_skb);