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

Commit a6573439 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "net: rmnet_data: Always try to linearize when UL aggregation is on"

parents b0671fbd 54448f2b
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -573,7 +573,8 @@ static int rmnet_map_egress_handler(struct sk_buff *skb,
			 skb_is_nonlinear(skb);

	if ((!(config->egress_data_format &
	    RMNET_EGRESS_FORMAT_AGGREGATION)) || non_linear_skb)
	    RMNET_EGRESS_FORMAT_AGGREGATION)) || csum_required ||
	    non_linear_skb)
		map_header = rmnet_map_add_map_header
		(skb, additional_header_length, RMNET_MAP_NO_PAD_BYTES);
	else
@@ -595,11 +596,14 @@ static int rmnet_map_egress_handler(struct sk_buff *skb,

	skb->protocol = htons(ETH_P_MAP);

	if ((config->egress_data_format & RMNET_EGRESS_FORMAT_AGGREGATION) &&
	    !non_linear_skb) {
	if (config->egress_data_format & RMNET_EGRESS_FORMAT_AGGREGATION) {
		if (rmnet_ul_aggregation_skip(skb, required_headroom))
			return RMNET_MAP_SUCCESS;

		if (non_linear_skb)
			if (unlikely(__skb_linearize(skb)))
				return RMNET_MAP_SUCCESS;

		rmnet_map_aggregate(skb, config);
		return RMNET_MAP_CONSUMED;
	}