Message ID | 20200709055742.3425-1-frank-w@public-files.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] net: ethernet: mtk_eth_soc: fix mtu warning | expand |
On Thu, Jul 09, 2020 at 07:57:42AM +0200, Frank Wunderlich wrote: > From: René van Dorst <opensource@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@vdorst.com> > Signed-off-by: Frank Wunderlich <frank-w@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
On Thu, Jul 09, 2020 at 03:41:15PM +0200, Andrew Lunn wrote: > On Thu, Jul 09, 2020 at 07:57:42AM +0200, Frank Wunderlich wrote: > > From: René van Dorst <opensource@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@vdorst.com> > > Signed-off-by: Frank Wunderlich <frank-w@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. Are there any plans to solve these warnings for Marvell 88e6xxx DSA ports?
Am 9. Juli 2020 22:31:34 MESZ schrieb Russell King - ARM Linux admin <linux@armlinux.org.uk>: >Are there any plans to solve these warnings for Marvell 88e6xxx DSA >ports? Maybe it's a better idea to restore previous condition? if (ret && ret != -EOPNOTSUPP) Or use another loglevel (dev_dbg) regards Frank
> Are there any plans to solve these warnings for Marvell 88e6xxx DSA ports?
Hi Russell
I have patches for FEC + mv88e6xxx. I should post them.
Andrew
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; + eth->netdev[id]->min_mtu = ETH_MIN_MTU; + eth->netdev[id]->max_mtu = 1536; + return 0; free_netdev: