From: Dan Carpenter Date: Tue, 6 Jun 2023 08:24:37 +0000 (+0300) Subject: net: dsa: ocelot: unlock on error in vsc9959_qos_port_tas_set() X-Git-Tag: v6.6.7~2536^2~160 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cad7526f33ce1e7d387d1d0568a089e41deec5c2;p=platform%2Fkernel%2Flinux-starfive.git net: dsa: ocelot: unlock on error in vsc9959_qos_port_tas_set() This error path needs call mutex_unlock(&ocelot->tas_lock) before returning. Fixes: 2d800bc500fb ("net/sched: taprio: replace tc_taprio_qopt_offload :: enable with a "cmd" enum") Signed-off-by: Dan Carpenter Reviewed-by: Vladimir Oltean Signed-off-by: David S. Miller --- diff --git a/drivers/net/dsa/ocelot/felix_vsc9959.c b/drivers/net/dsa/ocelot/felix_vsc9959.c index 5de6a27..903532e 100644 --- a/drivers/net/dsa/ocelot/felix_vsc9959.c +++ b/drivers/net/dsa/ocelot/felix_vsc9959.c @@ -1424,7 +1424,8 @@ static int vsc9959_qos_port_tas_set(struct ocelot *ocelot, int port, mutex_unlock(&ocelot->tas_lock); return 0; } else if (taprio->cmd != TAPRIO_CMD_REPLACE) { - return -EOPNOTSUPP; + ret = -EOPNOTSUPP; + goto err_unlock; } ret = ocelot_port_mqprio(ocelot, port, &taprio->mqprio);