|
@@ -1190,7 +1190,7 @@ int mlx4_en_config_rss_steer(struct mlx4_en_priv *priv)
|
|
|
err = mlx4_qp_alloc(mdev->dev, priv->base_qpn, rss_map->indir_qp);
|
|
err = mlx4_qp_alloc(mdev->dev, priv->base_qpn, rss_map->indir_qp);
|
|
|
if (err) {
|
|
if (err) {
|
|
|
en_err(priv, "Failed to allocate RSS indirection QP\n");
|
|
en_err(priv, "Failed to allocate RSS indirection QP\n");
|
|
|
- goto rss_err;
|
|
|
|
|
|
|
+ goto qp_alloc_err;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
rss_map->indir_qp->event = mlx4_en_sqp_event;
|
|
rss_map->indir_qp->event = mlx4_en_sqp_event;
|
|
@@ -1244,6 +1244,7 @@ indir_err:
|
|
|
MLX4_QP_STATE_RST, NULL, 0, 0, rss_map->indir_qp);
|
|
MLX4_QP_STATE_RST, NULL, 0, 0, rss_map->indir_qp);
|
|
|
mlx4_qp_remove(mdev->dev, rss_map->indir_qp);
|
|
mlx4_qp_remove(mdev->dev, rss_map->indir_qp);
|
|
|
mlx4_qp_free(mdev->dev, rss_map->indir_qp);
|
|
mlx4_qp_free(mdev->dev, rss_map->indir_qp);
|
|
|
|
|
+qp_alloc_err:
|
|
|
kfree(rss_map->indir_qp);
|
|
kfree(rss_map->indir_qp);
|
|
|
rss_map->indir_qp = NULL;
|
|
rss_map->indir_qp = NULL;
|
|
|
rss_err:
|
|
rss_err:
|