Message ID | 20201205191744.7847-2-rasmus.villemoes@prevas.dk |
---|---|
State | Superseded |
Headers | show |
Series | ethernet: ucc_geth: assorted fixes and simplifications | expand |
On Sat, Dec 05, 2020 at 08:17:24PM +0100, Rasmus Villemoes wrote: > All the buffers and registers are already set up appropriately for an > MTU slightly above 1500, so we just need to expose this to the > networking stack. AFAICT, there's no need to implement .ndo_change_mtu > when the receive buffers are always set up to support the max_mtu. > > This fixes several warnings during boot on our mpc8309-board with an > embedded mv88e6250 switch: > > mv88e6085 mdio@e0102120:10: nonfatal error -34 setting MTU 1500 on port 0 > ... > mv88e6085 mdio@e0102120:10: nonfatal error -34 setting MTU 1500 on port 4 > ucc_geth e0102000.ethernet eth1: error -22 setting MTU to 1504 to include DSA overhead > > The last line explains what the DSA stack tries to do: achieving an MTU > of 1500 on-the-wire requires that the master netdevice connected to > the CPU port supports an MTU of 1500+the tagging overhead. > > Fixes: bfcb813203e6 ("net: dsa: configure the MTU for switch ports") > Cc: Vladimir Oltean <vladimir.oltean@nxp.com> > Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 714b501be7d0..380c1f09adaf 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -3889,6 +3889,7 @@ static int ucc_geth_probe(struct platform_device* ofdev) INIT_WORK(&ugeth->timeout_work, ucc_geth_timeout_work); netif_napi_add(dev, &ugeth->napi, ucc_geth_poll, 64); dev->mtu = 1500; + dev->max_mtu = 1518; ugeth->msg_enable = netif_msg_init(debug.msg_enable, UGETH_MSG_DEFAULT); ugeth->phy_interface = phy_interface;
All the buffers and registers are already set up appropriately for an MTU slightly above 1500, so we just need to expose this to the networking stack. AFAICT, there's no need to implement .ndo_change_mtu when the receive buffers are always set up to support the max_mtu. This fixes several warnings during boot on our mpc8309-board with an embedded mv88e6250 switch: mv88e6085 mdio@e0102120:10: nonfatal error -34 setting MTU 1500 on port 0 ... mv88e6085 mdio@e0102120:10: nonfatal error -34 setting MTU 1500 on port 4 ucc_geth e0102000.ethernet eth1: error -22 setting MTU to 1504 to include DSA overhead The last line explains what the DSA stack tries to do: achieving an MTU of 1500 on-the-wire requires that the master netdevice connected to the CPU port supports an MTU of 1500+the tagging overhead. Fixes: bfcb813203e6 ("net: dsa: configure the MTU for switch ports") Cc: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> --- drivers/net/ethernet/freescale/ucc_geth.c | 1 + 1 file changed, 1 insertion(+)