net/bnxt: set flow error when free filter not available
authorKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Mon, 31 May 2021 07:26:37 +0000 (12:56 +0530)
committerAjit Khaparde <ajit.khaparde@broadcom.com>
Tue, 8 Jun 2021 21:29:18 +0000 (23:29 +0200)
In bnxt_flow_validate(), when bnxt_get_unused_filter() fails due to
no filter resources available, driver is not setting flow error using
"rte_flow_error_set".

Also, fixed the error code.

Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_flow.c

index 66012b8..9b47807 100644 (file)
@@ -1550,9 +1550,11 @@ bnxt_flow_validate(struct rte_eth_dev *dev,
 
        filter = bnxt_get_unused_filter(bp);
        if (filter == NULL) {
-               PMD_DRV_LOG(ERR, "Not enough resources for a new flow.\n");
+               rte_flow_error_set(error, ENOSPC,
+                                  RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
+                                  "Not enough resources for a new flow");
                bnxt_release_flow_lock(bp);
-               return -ENOMEM;
+               return -ENOSPC;
        }
 
        ret = bnxt_validate_and_parse_flow(dev, pattern, actions, attr,