net/mlx5: fix Rx objects creator selection
authorMichael Baum <michaelba@nvidia.com>
Sun, 13 Sep 2020 19:05:21 +0000 (19:05 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 18 Sep 2020 16:55:11 +0000 (18:55 +0200)
There are 2 creators for Rx objects, DevX and Verbs.
There are supported DR versions when a DevX destination TIR flow action
creation cannot be supported, using this versions the TIR object should
be created by Verbs, what forces all the Rx objects to be created by
Verbs.

The selection of the Rx objects creator, wrongly, didn't take into
account the destination TIR action support what caused a failure in the
Rx flows creation.

Select Verbs creator when destination TIR action creation is not
supported by the DR version.

Fixes: 6deb19e1b2d2 ("net/mlx5: separate Rx queue object creations")

Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/linux/mlx5_os.c

index 41db75e..0511a55 100644 (file)
@@ -1272,7 +1272,7 @@ err_secondary:
                        goto error;
                }
        }
-       if (config->devx && config->dv_flow_en) {
+       if (config->devx && config->dv_flow_en && config->dest_tir) {
                priv->obj_ops = devx_obj_ops;
                priv->obj_ops.drop_action_create =
                                                ibv_obj_ops.drop_action_create;