net/mlx5: fix drop queue creation error
authorNélio Laranjeiro <nelio.laranjeiro@6wind.com>
Wed, 1 Mar 2017 12:49:40 +0000 (13:49 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 4 Apr 2017 13:52:51 +0000 (15:52 +0200)
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: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
drivers/net/mlx5/mlx5_flow.c

index 23c1b5e..6765a77 100644 (file)
@@ -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);