From: Ivan Malov Date: Mon, 7 Feb 2022 11:15:59 +0000 (+0300) Subject: net/sfc: fix lock releases X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=1542d303a7c0127a7748881f7cb689983614ee43;p=dpdk.git net/sfc: fix lock releases Fixes: 155583abe63c ("net/sfc: implement representor queue setup and release") Fixes: 75f080fdf74a ("net/sfc: implement port representor start and stop") Cc: stable@dpdk.org Signed-off-by: Ivan Malov Reviewed-by: Ferruh Yigit --- diff --git a/drivers/net/sfc/sfc_repr_proxy.c b/drivers/net/sfc/sfc_repr_proxy.c index 535b07ea52..8660d419a3 100644 --- a/drivers/net/sfc/sfc_repr_proxy.c +++ b/drivers/net/sfc/sfc_repr_proxy.c @@ -1413,6 +1413,7 @@ sfc_repr_proxy_add_rxq(uint16_t pf_port_id, uint16_t repr_id, port = sfc_repr_proxy_find_port(rp, repr_id); if (port == NULL) { sfc_err(sa, "%s() failed: no such port", __func__); + sfc_put_adapter(sa); return ENOENT; } @@ -1451,6 +1452,7 @@ sfc_repr_proxy_del_rxq(uint16_t pf_port_id, uint16_t repr_id, port = sfc_repr_proxy_find_port(rp, repr_id); if (port == NULL) { sfc_err(sa, "%s() failed: no such port", __func__); + sfc_put_adapter(sa); return; } @@ -1484,6 +1486,7 @@ sfc_repr_proxy_add_txq(uint16_t pf_port_id, uint16_t repr_id, port = sfc_repr_proxy_find_port(rp, repr_id); if (port == NULL) { sfc_err(sa, "%s() failed: no such port", __func__); + sfc_put_adapter(sa); return ENOENT; } @@ -1516,6 +1519,7 @@ sfc_repr_proxy_del_txq(uint16_t pf_port_id, uint16_t repr_id, port = sfc_repr_proxy_find_port(rp, repr_id); if (port == NULL) { sfc_err(sa, "%s() failed: no such port", __func__); + sfc_put_adapter(sa); return; } @@ -1614,6 +1618,7 @@ sfc_repr_proxy_stop_repr(uint16_t pf_port_id, uint16_t repr_id) port = sfc_repr_proxy_find_port(rp, repr_id); if (port == NULL) { sfc_err(sa, "%s() failed: no such port", __func__); + sfc_put_adapter(sa); return ENOENT; }