diff --git a/net/dsa/switch.c b/net/dsa/switch.c index 2b1b21bde830064f8a1825ff6b7c996a5219c276..8f8ed8248c2c3cd855991f706cf1426decd88d5d 100644 --- a/net/dsa/switch.c +++ b/net/dsa/switch.c @@ -266,7 +266,7 @@ static int dsa_port_do_mdb_del(struct dsa_port *dp, err = ds->ops->port_mdb_del(ds, port, mdb); if (err) { - refcount_inc(&a->refcount); + refcount_set(&a->refcount, 1); return err; } @@ -333,7 +333,7 @@ static int dsa_port_do_fdb_del(struct dsa_port *dp, const unsigned char *addr, err = ds->ops->port_fdb_del(ds, port, addr, vid); if (err) { - refcount_inc(&a->refcount); + refcount_set(&a->refcount, 1); return err; }