Skip to contentSkip to conversation

Patch "s390/qeth: build max size GSO skbs on L2 devices" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Dec 14, 2017

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

s390/qeth: build max size GSO skbs on L2 devices

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:

     s390-qeth-build-max-size-gso-skbs-on-l2-devices.patch

and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Thu Dec 14 11:45:58 CET 2017

From: Julian Wiedmann <[email protected]>
Date: Fri, 1 Dec 2017 10:14:51 +0100
Subject: s390/qeth: build max size GSO skbs on L2 devices

From: Julian Wiedmann <[email protected]>

[ Upstream commit 0cbff6d4546613330a1c5f139f5c368e4ce33ca1 ]

The current GSO skb size limit was copy&pasted over from the L3 path, where it is needed due to a TSO limitation.
As L2 devices don't offer TSO support (and thus all GSO skbs are segmented before they reach the driver), there's no reason to restrict the stack in how large it may build the GSO skbs.

Fixes d52aec97e5bc ("qeth: enable scatter/gather in layer 2 mode")
---
 drivers/s390/net/qeth_l2_main.c |    2 --
 drivers/s390/net/qeth_l3_main.c |    4 ++--
 2 files changed, 2 insertions(+), 4 deletions(-)
drivers/s390/net/qeth_l2_main.c +0 -2
@@ -1140,8 +1140,6 @@ static int qeth_l2_setup_netdev(struct q
 	}
 	card->info.broadcast_capable = 1;
 	qeth_l2_request_initial_mac(card);
-	card->dev->gso_max_size = (QETH_MAX_BUFFER_ELEMENTS(card) - 1) *
-				  PAGE_SIZE;
 	SET_NETDEV_DEV(card->dev, &card->gdev->dev);
 	netif_napi_add(card->dev, &card->napi, qeth_l2_poll, QETH_NAPI_WEIGHT);
 	netif_carrier_off(card->dev);
drivers/s390/net/qeth_l3_main.c +2 -2
@@ -3147,8 +3147,8 @@ static int qeth_l3_setup_netdev(struct q
 				NETIF_F_HW_VLAN_CTAG_RX |
 				NETIF_F_HW_VLAN_CTAG_FILTER;
 	netif_keep_dst(card->dev);
-	card->dev->gso_max_size = (QETH_MAX_BUFFER_ELEMENTS(card) - 1) *
-				  PAGE_SIZE;
+	netif_set_gso_max_size(card->dev, (QETH_MAX_BUFFER_ELEMENTS(card) - 1) *
+					  PAGE_SIZE);
 
 	SET_NETDEV_DEV(card->dev, &card->gdev->dev);
 	netif_napi_add(card->dev, &card->napi, qeth_l3_poll, QETH_NAPI_WEIGHT);

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/s390-qeth-fix-thinko-in-ipv4-multicast-address-tracking.patch queue-4.9/s390-qeth-fix-gso-throughput-regression.patch queue-4.9/s390-qeth-fix-early-exit-from-error-path.patch queue-4.9/s390-qeth-build-max-size-gso-skbs-on-l2-devices.patch