Creating a drop queue in mlx5 ends by creating a non polled queue, but if
the associated work queue could not be created the error was not handled
ending in a undefined situation.
Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions")
CC: [email protected]
Signed-off-by: Nelio Laranjeiro <[email protected]>
---
drivers/net/mlx5/mlx5_flow.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 23c1b5e..6765a77 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -902,6 +902,12 @@ priv_flow_create_action_queue(struct priv *priv,
.pd = priv->pd,
.cq = rte_flow->cq,
});
+ if (!rte_flow->wq) {
+ rte_flow_error_set(error, ENOMEM,
+ RTE_FLOW_ERROR_TYPE_HANDLE,
+ NULL, "cannot allocate WQ");
+ goto error;
+ }
} else {
rxq = container_of((*priv->rxqs)[action->queue_id],
struct rxq_ctrl, rxq);
--
2.1.4