net: dsa: avoid refcount warnings when ds->ops->tag_8021q_vlan_del() fails
authorVladimir Oltean <vladimir.oltean@nxp.com>
Mon, 14 Apr 2025 21:30:20 +0000 (00:30 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 08:45:44 +0000 (10:45 +0200)
[ Upstream commit 514eff7b0aa1c5eb645ddbb8676ef3e2d88a8b99 ]

This is very similar to the problem and solution from commit
232deb3f9567 ("net: dsa: avoid refcount warnings when
->port_{fdb,mdb}_del returns error"), except for the
dsa_port_do_tag_8021q_vlan_del() operation.

Fixes: c64b9c05045a ("net: dsa: tag_8021q: add proper cross-chip notifier support")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20250414213020.2959021-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/dsa/tag_8021q.c

index cbdfc392f7e0d94983dc2144e34d2cd29de60204..a5420421e462ef1c289c3532535ab0874514998c 100644 (file)
@@ -197,7 +197,7 @@ static int dsa_port_do_tag_8021q_vlan_del(struct dsa_port *dp, u16 vid)
 
        err = ds->ops->tag_8021q_vlan_del(ds, port, vid);
        if (err) {
-               refcount_inc(&v->refcount);
+               refcount_set(&v->refcount, 1);
                return err;
        }