From: Sokolov Evgeny <[email protected]>

The return value of bnxt_hwrm_vnic_rss_cfg() was not checked in
bnxt_flow.c. As a result, RSS configuration failures could be
silently ignored and the flow setup could continue with an
incorrect VNIC configuration.

Check the return status and propagate the error to the caller.

Fixes: adc0f81c655 ("net/bnxt: support RSS action")
Cc: [email protected]

Signed-off-by: Sokolov Evgeny <[email protected]>
---
 drivers/net/bnxt/bnxt_flow.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c
index a2e590540b..63cfa3a045 100644
--- a/drivers/net/bnxt/bnxt_flow.c
+++ b/drivers/net/bnxt/bnxt_flow.c
@@ -1631,7 +1631,16 @@ bnxt_validate_and_parse_flow(struct rte_eth_dev *dev,
                                               rss->key,
                                               rss->key_len);
                        }
-                       bnxt_hwrm_vnic_rss_cfg(bp, vnic);
+                       rc = bnxt_hwrm_vnic_rss_cfg(bp, vnic);
+                       if (rc) {
+                               rte_flow_error_set(error,
+                                                  -rc,
+                                                  RTE_FLOW_ERROR_TYPE_ACTION,
+                                                  act,
+                                                  "VNIC RSS configure failed");
+                               rc = -rte_errno;
+                               goto ret;
+                       }
                } else {
                        PMD_DRV_LOG_LINE(DEBUG, "No RSS config required");
                }
-- 
2.30.2

Reply via email to