From: Viacheslav Galaktionov <viacheslav.galaktio...@oktetlabs.ru>

If for some reason the hardware switch ID initialization function fails,
MAE lock is still held after the function finishes. This patch fixes that.

Fixes: 1e7fbdf0ba19 ("net/sfc: support concept of switch domains/ports")
Cc: sta...@dpdk.org

Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktio...@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
Reviewed-by: Andy Moreton <amore...@xilinx.com>
---
 drivers/net/sfc/sfc_switch.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/sfc/sfc_switch.c b/drivers/net/sfc/sfc_switch.c
index c37cdf4a61..80c884a599 100644
--- a/drivers/net/sfc/sfc_switch.c
+++ b/drivers/net/sfc/sfc_switch.c
@@ -214,9 +214,9 @@ sfc_mae_assign_switch_domain(struct sfc_adapter *sa,
 
 fail_mem_alloc:
        sfc_hw_switch_id_fini(sa, hw_switch_id);
-       rte_spinlock_unlock(&sfc_mae_switch.lock);
 
 fail_hw_switch_id_init:
+       rte_spinlock_unlock(&sfc_mae_switch.lock);
        return rc;
 }
 
-- 
2.30.2

Reply via email to