Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp3075897ybb; Sun, 12 Apr 2020 23:25:18 -0700 (PDT) X-Google-Smtp-Source: APiQypJW7eKZkXmGIbb1Zj89gOzwR6k0tGeywmW13zSJQgj8MVk2IjEmT3vSonshFzI6pXXO2Iij X-Received: by 2002:ac8:5058:: with SMTP id h24mr831099qtm.347.1586759118779; Sun, 12 Apr 2020 23:25:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586759118; cv=none; d=google.com; s=arc-20160816; b=LokppLX14HCrzVyrElXNLTzXjLOfztmMxDI89acdlD5lpi4CKblugSkwsoCg6MWdwO SF+mH3FY2Pujbhq1/VjFisb6mCiy5NQeu/WunnOrxMgFQX5RSD8fRh0Fn2MkHTQnpXaM Hy6kaPZaHSqW6z8KQI5zcIJoV1jSuRZo2q/1waYllLTVxMY2V1BNy2i6axwQ1ghgMFGz 3p7h65okdAcLt+xAiVf7Gyb+jkOMkqIB+tzxKdjEgyyv2z7dPS5464Uu//5UAVPYR9hR UBUm5PVehcvrSR32fMFyOVY7cd3OGWWuHuuSvoAHylePAvcgBkE/JU1L3+M7jkO6hpg3 f5TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=vUsl4J3IuYLbJX3saCAASjhtqWEknduLZI0PwlQDuaw=; b=yuC89IMYaWI/4Jm9Xj4joejktR+SryG/2TD8b2uPrzqpo4vaTgz3wkJWmjoB3jTpbp 4qr1mu0VbE30eD6ywrzSeibx1YHfa2ifzs+Qhnb4MovOn+5twXNP0bjd8kG/w4awexOQ QWTZbb1+N2Q04jwZ8X4+irH/BeuR8PETj7f93yENKNQVqUglNaTgZghCV5VaVi3Y68sX uMihJZ9ueX6gD3VUhagjDR9hAMSsemTOT04TA8lDeo64XpzWQa/OutVkQT/0MAx6I7D6 7TsHI1Ar6grqSORFAwF+sTkR7U9TC0UHl+GSfTNy2Qwu6YPw0o533fiO5WUVAiNtp3xe OiSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uqvVcVx0; spf=neutral (google.com: 209.132.180.67 is neither permitted nor denied by best guess record for domain of linux-kernel-owner@vger.kernel.org) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org ([209.132.180.67]) by mx.google.com with ESMTP id h26si5085238qtn.284.2020.04.12.23.25.03; Sun, 12 Apr 2020 23:25:18 -0700 (PDT) Received-SPF: neutral (google.com: 209.132.180.67 is neither permitted nor denied by best guess record for domain of linux-kernel-owner@vger.kernel.org) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uqvVcVx0; spf=neutral (google.com: 209.132.180.67 is neither permitted nor denied by best guess record for domain of linux-kernel-owner@vger.kernel.org) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727612AbgDLSfG (ORCPT + 99 others); Sun, 12 Apr 2020 14:35:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.18]:44764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727566AbgDLSfF (ORCPT ); Sun, 12 Apr 2020 14:35:05 -0400 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 301F8C0A3BF5; Sun, 12 Apr 2020 11:28:04 -0700 (PDT) Received: from kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com (c-67-180-217-166.hsd1.ca.comcast.net [67.180.217.166]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7D26B206C3; Sun, 12 Apr 2020 18:28:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1586716083; bh=VF/nhuZkTZ8b9/mmFS8H59iIm0vUnbplPKcaVA78jYk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=uqvVcVx0nCzUrTkSmtbmJNs6AcH/x6NxpLIYwCeajkEnc1Zg47ZYTf+XfHIAh6isS cebWIL8AVtXk4dlUBHDL6nUkgzxHzsqTGH1cjO99Y/HlidtmYxMHuRCNFlpyeVizXx ep69wvlNg/MB1ZPWhG/IhaPm0VXgQtkQKtnIowMo= Date: Sun, 12 Apr 2020 11:27:56 -0700 From: Jakub Kicinski To: Florian Fainelli Cc: netdev@vger.kernel.org, olteanv@gmail.com, mripard@kernel.org, Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu , "David S. Miller" , Maxime Coquelin , linux-stm32@st-md-mailman.stormreply.com (moderated list:ARM/STM32 ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:ARM/STM32 ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Subject: Re: [PATCH net] net: stmmac: Guard against txfifosz=0 Message-ID: <20200412112756.687ff227@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: <20200412034931.9558-1-f.fainelli@gmail.com> References: <20200412034931.9558-1-f.fainelli@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 11 Apr 2020 20:49:31 -0700 Florian Fainelli wrote: > 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. OTOH is it safe to assume MTUs up to 16k are valid if device tree lacks the optional property? Is this change purely to preserve backward (bug-ward?) compatibility, even if it's not entirely correct to allow high MTU values? (I think that'd be worth stating in the commit message more explicitly.) Is there no "reasonable default" we could select for txfifosz if property is missing? > Fixes: eaf4fac47807 ("net: stmmac: Do not accept invalid MTU values") > Signed-off-by: Florian Fainelli > --- > 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;