[PATCH v2] net: ethernet: mtk_eth_soc: fix mtu warning

Andrew Lunn andrew at lunn.ch
Thu Jul 9 09:41:15 EDT 2020


On Thu, Jul 09, 2020 at 07:57:42AM +0200, Frank Wunderlich wrote:
> From: René van Dorst <opensource at vdorst.com>
> 
> in recent Kernel-Versions there are warnings about incorrect MTU-Size
> like these:
> 
> mt7530 mdio-bus:00: nonfatal error -95 setting MTU on port x
> eth0: mtu greater than device maximum
> mtk_soc_eth 1b100000.ethernet eth0: error -22 setting MTU to include DSA overhead
> 
> Fixes: bfcb813203e6 ("net: dsa: configure the MTU for switch ports")
> Fixes: 72579e14a1d3 ("net: dsa: don't fail to probe if we couldn't set the MTU")
> Fixes: 7a4c53bee332 ("net: report invalid mtu value via netlink extack")
> Signed-off-by: René van Dorst <opensource at vdorst.com>
> Signed-off-by: Frank Wunderlich <frank-w at public-files.de>
> ---
> changes in v2:
>   Fixes: tag show 12-chars of sha1 and moved above other tags
> ---
>  drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> index 85735d32ecb0..00e3d70f7d07 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> @@ -2891,6 +2891,10 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
>  	eth->netdev[id]->irq = eth->irq[0];
>  	eth->netdev[id]->dev.of_node = np;
> 
> +	eth->netdev[id]->mtu = 1536;

Hi Frank

Don't change to MTU from the default. Anybody using this interface for
non-DSA traffic expects the default MTU. DSA will change it as needed.

> +	eth->netdev[id]->min_mtu = ETH_MIN_MTU;

No need to set the minimum. ether_setup() will initialize it.

> +	eth->netdev[id]->max_mtu = 1536;

I assume this is enough to make the DSA warning go away, but it is the
true max? I have a similar patch for the FEC driver which i should
post sometime. Reviewing the FEC code and after some testing, i found
the real max was 2K - 64.

     Andrew



More information about the linux-arm-kernel mailing list