From: Dapeng Yu <dapengx...@intel.com>

If flow redirect failed, the spinlock will not be unlocked.
This patch fixes it.

Fixes: bc9201388d56 ("net/ice: support flow redirect")
Cc: sta...@dpdk.org

Signed-off-by: Dapeng Yu <dapengx...@intel.com>
---
 drivers/net/ice/ice_generic_flow.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ice/ice_generic_flow.c 
b/drivers/net/ice/ice_generic_flow.c
index 3e6ed7005b..02f854666a 100644
--- a/drivers/net/ice/ice_generic_flow.c
+++ b/drivers/net/ice/ice_generic_flow.c
@@ -2542,7 +2542,7 @@ ice_flow_redirect(struct ice_adapter *ad,
        struct ice_pf *pf = &ad->pf;
        struct rte_flow *p_flow;
        void *temp;
-       int ret;
+       int ret = 0;
 
        rte_spinlock_lock(&pf->flow_ops_lock);
 
@@ -2552,11 +2552,11 @@ ice_flow_redirect(struct ice_adapter *ad,
                ret = p_flow->engine->redirect(ad, p_flow, rd);
                if (ret) {
                        PMD_DRV_LOG(ERR, "Failed to redirect flows");
-                       return ret;
+                       break;
                }
        }
 
        rte_spinlock_unlock(&pf->flow_ops_lock);
 
-       return 0;
+       return ret;
 }
-- 
2.27.0

Reply via email to