Patch "net: dsa: b53: fix jumbo frame mtu check" has been added to the 6.11-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

    net: dsa: b53: fix jumbo frame mtu check

to the 6.11-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:
     net-dsa-b53-fix-jumbo-frame-mtu-check.patch
and it can be found in the queue-6.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 7554295c6680ddda78e992400fa9e3df5cb59336
Author: Jonas Gorski <jonas.gorski@xxxxxxxxx>
Date:   Fri Oct 4 10:47:17 2024 +0200

    net: dsa: b53: fix jumbo frame mtu check
    
    [ Upstream commit 42fb3acf6826c6764ba79feb6e15229b43fd2f9f ]
    
    JMS_MIN_SIZE is the full ethernet frame length, while mtu is just the
    data payload size. Comparing these two meant that mtus between 1500 and
    1518 did not trigger enabling jumbo frames.
    
    So instead compare the set mtu ETH_DATA_LEN, which is equal to
    JMS_MIN_SIZE - ETH_HLEN - ETH_FCS_LEN;
    
    Also do a check that the requested mtu is actually greater than the
    minimum length, else we do not need to enable jumbo frames.
    
    In practice this only introduced a very small range of mtus that did not
    work properly. Newer chips allow 2000 byte large frames by default, and
    older chips allow 1536 bytes long, which is equivalent to an mtu of
    1514. So effectivly only mtus of 1515~1517 were broken.
    
    Fixes: 6ae5834b983a ("net: dsa: b53: add MTU configuration support")
    Signed-off-by: Jonas Gorski <jonas.gorski@xxxxxxxxx>
    Reviewed-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
    Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
index 0783fc121bbbf..57df00ad9dd4c 100644
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
@@ -2259,7 +2259,7 @@ static int b53_change_mtu(struct dsa_switch *ds, int port, int mtu)
 	if (!dsa_is_cpu_port(ds, port))
 		return 0;
 
-	enable_jumbo = (mtu >= JMS_MIN_SIZE);
+	enable_jumbo = (mtu > ETH_DATA_LEN);
 	allow_10_100 = (dev->chip_id == BCM583XX_DEVICE_ID);
 
 	return b53_set_jumbo(dev, enable_jumbo, allow_10_100);




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux