[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJq09z5PccRNoE8LZ=Ose--zGCVRRGvmp1Lb6NWh7rZHnHjznA@mail.gmail.com>
Date: Thu, 31 Mar 2022 02:53:46 -0300
From: Luiz Angelo Daros de Luca <luizluca@...il.com>
To: Vladimir Oltean <vladimir.oltean@....com>,
Alvin Šipraga <ALSI@...g-olufsen.dk>
Cc: "open list:NETWORKING DRIVERS" <netdev@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>
Subject: Re: [PATCH v2 net-next 3/6] net: dsa: stop updating master MTU from master.c
Hi Vladimir,
I think I found an issue with this patch.
> At present there are two paths for changing the MTU of the DSA master.
>
> The first is:
>
> dsa_tree_setup
> -> dsa_tree_setup_ports
> -> dsa_port_setup
> -> dsa_slave_create
> -> dsa_slave_change_mtu
> -> dev_set_mtu(master)
The first code from dsa_slave_change_mtu() is:
if (!ds->ops->port_change_mtu)
return -EOPNOTSUPP;
So, when the switch does not implement ds->ops->port_change_mtu, the
master MTU will never be updated. This is the case for
drivers/net/dsa/realtek/rtl8365mb.c. Before this patch,
ops->port_change_mtu was optional. We either need to turn it into a
mandatory function (even if it is a no-op that fails when mtu is
different) or change the dsa_slave_change_mtu to only return
-EOPNOTSUPP when the new slave MTU differs from current slave MTU.
Regards,
Luiz
Powered by blists - more mailing lists