Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42e69d8f authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "net: qualcomm: rmnet: Handle large UL packets in aggregation path"

parents 36abbd18 00e95d5a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1121,15 +1121,16 @@ void rmnet_map_tx_aggregate(struct sk_buff *skb, struct rmnet_port *port)
		 * sparse, don't aggregate. We will need to tune this later
		 */
		diff = timespec_sub(port->agg_last, last);
		size = port->egress_agg_size - skb->len;

		if (diff.tv_sec > 0 || diff.tv_nsec > rmnet_agg_bypass_time) {
		if (diff.tv_sec > 0 || diff.tv_nsec > rmnet_agg_bypass_time ||
		    size <= 0) {
			spin_unlock_irqrestore(&port->agg_lock, flags);
			skb->protocol = htons(ETH_P_MAP);
			dev_queue_xmit(skb);
			return;
		}

		size = port->egress_agg_size - skb->len;
		port->agg_skb = skb_copy_expand(skb, 0, size, GFP_ATOMIC);
		if (!port->agg_skb) {
			port->agg_skb = 0;