Re: [PATCH 5.14 309/849] net: dsa: lantiq_gswip: serialize access to the PCE table

From: Vladimir Oltean
Date: Mon Nov 15 2021 - 19:13:29 EST


On Mon, Nov 15, 2021 at 07:28:14PM +0100, Hauke Mehrtens wrote:
> On 11/15/21 5:56 PM, Greg Kroah-Hartman wrote:
> > From: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> >
> > [ Upstream commit 49753a75b9a32de4c0393bb8d1e51ea223fda8e4 ]
> >
> > Looking at the code, the GSWIP switch appears to hold bridging service
> > structures (VLANs, FDBs, forwarding rules) in PCE table entries.
> > Hardware access to the PCE table is non-atomic, and is comprised of
> > several register reads and writes.
> >
> > These accesses are currently serialized by the rtnl_lock, but DSA is
> > changing its driver API and that lock will no longer be held when
> > calling ->port_fdb_add() and ->port_fdb_del().
> >
> > So this driver needs to serialize the access to the PCE table using its
> > own locking scheme. This patch adds that.
> >
> > Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> > Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
> > Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx>
> > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> > ---
> > drivers/net/dsa/lantiq_gswip.c | 28 +++++++++++++++++++++++-----
> > 1 file changed, 23 insertions(+), 5 deletions(-)
>
> Hi Greg and Vladimir,
>
> I understood this is only needed when we apply the complete patch series
> from Vladimir. This would only be needed when we also apply this patch:
> > commit 5cdfde49a07f38663c277ddf2e56345ea1706fc2
> > Author: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> > Date: Fri Oct 22 21:43:10 2021 +0300
> >
> > net: dsa: drop rtnl_lock from dsa_slave_switchdev_event_work
> This was added in v5.16-rc1.
>
> Without this patch the sections are protected by rtnl_lock().

This is correct, this patch does not need to be backported, and unless
it is needed for purposes other than fixing a bug, it should be dropped.