diff mbox series

[net] net: dsa: qca8k: Fix port MTU setting

Message ID 20201030183315.GA6736@earth.li (mailing list archive)
State Not Applicable
Delegated to: Netdev Maintainers
Headers show
Series [net] net: dsa: qca8k: Fix port MTU setting | expand

Commit Message

Jonathan McDowell Oct. 30, 2020, 6:33 p.m. UTC
The qca8k only supports a switch-wide MTU setting, and the code to take
the max of all ports was only looking at the port currently being set.
Fix to examine all ports.

Reported-by: DENG Qingfang <dqfext@gmail.com>
Fixes: f58d2598cf70 ("net: dsa: qca8k: implement the port MTU callbacks")
Cc: stable@vger.kernel.org
Signed-off-by: Jonathan McDowell <noodles@earth.li>
---
 drivers/net/dsa/qca8k.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Andrew Lunn Oct. 30, 2020, 6:47 p.m. UTC | #1
On Fri, Oct 30, 2020 at 06:33:15PM +0000, Jonathan McDowell wrote:
> The qca8k only supports a switch-wide MTU setting, and the code to take
> the max of all ports was only looking at the port currently being set.
> Fix to examine all ports.
> 
> Reported-by: DENG Qingfang <dqfext@gmail.com>
> Fixes: f58d2598cf70 ("net: dsa: qca8k: implement the port MTU callbacks")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jonathan McDowell <noodles@earth.li>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew
Jakub Kicinski Nov. 2, 2020, 11:17 p.m. UTC | #2
On Fri, 30 Oct 2020 19:47:33 +0100 Andrew Lunn wrote:
> On Fri, Oct 30, 2020 at 06:33:15PM +0000, Jonathan McDowell wrote:
> > The qca8k only supports a switch-wide MTU setting, and the code to take
> > the max of all ports was only looking at the port currently being set.
> > Fix to examine all ports.
> > 
> > Reported-by: DENG Qingfang <dqfext@gmail.com>
> > Fixes: f58d2598cf70 ("net: dsa: qca8k: implement the port MTU callbacks")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Jonathan McDowell <noodles@earth.li>  
> 
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>

Applied, thanks!
diff mbox series

Patch

diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
index 53064e0e1618..5bdac669a339 100644
--- a/drivers/net/dsa/qca8k.c
+++ b/drivers/net/dsa/qca8k.c
@@ -1219,8 +1219,8 @@  qca8k_port_change_mtu(struct dsa_switch *ds, int port, int new_mtu)
 	priv->port_mtu[port] = new_mtu;
 
 	for (i = 0; i < QCA8K_NUM_PORTS; i++)
-		if (priv->port_mtu[port] > mtu)
-			mtu = priv->port_mtu[port];
+		if (priv->port_mtu[i] > mtu)
+			mtu = priv->port_mtu[i];
 
 	/* Include L2 header / FCS length */
 	qca8k_write(priv, QCA8K_MAX_FRAME_SIZE, mtu + ETH_HLEN + ETH_FCS_LEN);