2020-10-30 18:37:36

by Jonathan McDowell

[permalink] [raw]
Subject: [PATCH net] net: dsa: qca8k: Fix port MTU setting

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 <[email protected]>
Fixes: f58d2598cf70 ("net: dsa: qca8k: implement the port MTU callbacks")
Cc: [email protected]
Signed-off-by: Jonathan McDowell <[email protected]>
---
drivers/net/dsa/qca8k.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

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);
--
2.20.1


2020-10-30 18:49:38

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH net] net: dsa: qca8k: Fix port MTU setting

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 <[email protected]>
> Fixes: f58d2598cf70 ("net: dsa: qca8k: implement the port MTU callbacks")
> Cc: [email protected]
> Signed-off-by: Jonathan McDowell <[email protected]>

Reviewed-by: Andrew Lunn <[email protected]>

Andrew

2020-11-02 23:18:59

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net] net: dsa: qca8k: Fix port MTU setting

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 <[email protected]>
> > Fixes: f58d2598cf70 ("net: dsa: qca8k: implement the port MTU callbacks")
> > Cc: [email protected]
> > Signed-off-by: Jonathan McDowell <[email protected]>
>
> Reviewed-by: Andrew Lunn <[email protected]>

Applied, thanks!