Messages in this thread Patch in this message | | | From | Florian Fainelli <> | Subject | [PATCH net] net: stmmac: Guard against txfifosz=0 | Date | Sat, 11 Apr 2020 20:49:31 -0700 |
| |
After commit bfcb813203e619a8960a819bf533ad2a108d8105 ("net: dsa: configure the MTU for switch ports") my Lamobo R1 platform which uses an allwinner,sun7i-a20-gmac compatible Ethernet MAC started to fail by rejecting a MTU of 1536. The reason for that is that the DMA capabilities are not readable on this version of the IP, and there is also no 'tx-fifo-depth' property being provided in Device Tree. The property is documented as optional, and is not provided.
The minimum MTU that the network device accepts is ETH_ZLEN - ETH_HLEN, so rejecting the new MTU based on the txfifosz value unchecked seems a bit too heavy handed here.
Fixes: eaf4fac47807 ("net: stmmac: Do not accept invalid MTU values") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index e6898fd5223f..9c63ba6f86a9 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3993,7 +3993,7 @@ static int stmmac_change_mtu(struct net_device *dev, int new_mtu) new_mtu = STMMAC_ALIGN(new_mtu); /* If condition true, FIFO is too small or MTU too large */ - if ((txfifosz < new_mtu) || (new_mtu > BUF_SIZE_16KiB)) + if ((txfifosz < new_mtu && txfifosz) || (new_mtu > BUF_SIZE_16KiB)) return -EINVAL; dev->mtu = new_mtu; -- 2.19.1
| |