aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammed Javid <mjavid@codeaurora.org>2018-07-25 15:01:38 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2018-08-10 03:59:21 -0700
commit43b9ddb911593b7cf165e138547e7ee61c2233e5 (patch)
treef294d96773e85dde77a5ee1ee5ff6cbcadee53aa
parent0547436ee997417fd5a44f36ffd9aaa1c90d278d (diff)
net: usb: ax88179: Change to check if the packets are coming from gsbLE.UM.2.3.2-02700-SDX24
Packets from gsb are cloned packets, which has been done to optimize the dl data path. The check for cloned skb calls pskb_expand_head which gives penalty in the throughput. GSB driver data path does not consume the skb so, reallocation of skb is not necessary here. For that reason the check for all packets from gsb is introduced here. This check improves the throughput to about 150 Mbps. Change-Id: Ic1d7cc9c94605f1902ba212aac52d535d0ff84a7 Acked-by: Rishav LNU <rna@qti.qualcomm.com> Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
-rw-r--r--drivers/net/usb/ax88179_178a.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
index 8a6675d92b98..f9f69d536dfe 100644
--- a/drivers/net/usb/ax88179_178a.c
+++ b/drivers/net/usb/ax88179_178a.c
@@ -1435,7 +1435,8 @@ ax88179_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags)
headroom = skb_headroom(skb) - 8;
- if ((skb_header_cloned(skb) || headroom < 0) &&
+ if (((!(skb->fast_forwarded) && skb_header_cloned(skb)) ||
+ headroom < 0) &&
pskb_expand_head(skb, headroom < 0 ? 8 : 0, 0, GFP_ATOMIC)) {
dev_kfree_skb_any(skb);
return NULL;