mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 23:24:22 -04:00
qcacmn: Set TCP PSH flag only for the last segment of TSO packet
Currently, if TCP PSH flag is set in TSO packet then PSH flag is set for each TSO segment in the driver. This causes GRO flush for each segment received in the receiver side. Set this PSH flag only in last TSO segment so that GRO flush happens for the last segment in the receiver end. Change-Id: I6d6b34fab71ab2984ea68d8197f2979d25b36c6b CRs-Fixed: 2692251
This commit is contained in:
parent
0818b326b1
commit
163a364d27
1 changed files with 4 additions and 1 deletions
|
|
@ -3047,7 +3047,6 @@ static inline void __qdf_nbuf_fill_tso_cmn_seg_info(
|
|||
|
||||
curr_seg->seg.tso_flags.syn = tso_cmn_info->tcphdr->syn;
|
||||
curr_seg->seg.tso_flags.rst = tso_cmn_info->tcphdr->rst;
|
||||
curr_seg->seg.tso_flags.psh = tso_cmn_info->tcphdr->psh;
|
||||
curr_seg->seg.tso_flags.ack = tso_cmn_info->tcphdr->ack;
|
||||
curr_seg->seg.tso_flags.urg = tso_cmn_info->tcphdr->urg;
|
||||
curr_seg->seg.tso_flags.ece = tso_cmn_info->tcphdr->ece;
|
||||
|
|
@ -3160,6 +3159,10 @@ uint32_t __qdf_nbuf_get_tso_info(qdf_device_t osdev, struct sk_buff *skb,
|
|||
__qdf_nbuf_fill_tso_cmn_seg_info(curr_seg,
|
||||
&tso_cmn_info);
|
||||
|
||||
/* If TCP PSH flag is set, set it in the last or only segment */
|
||||
if (num_seg == 1)
|
||||
curr_seg->seg.tso_flags.psh = tso_cmn_info.tcphdr->psh;
|
||||
|
||||
if (unlikely(skb_proc == 0))
|
||||
return tso_info->num_segs;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue