[PATCH net-next] net/mlx5: rsc_dump and hv_vhca return NULL on create error
Tariq Toukan <[email protected]>
| Newsgroups | org.kernel.vger.linux-rdma,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
From: Michael Guralnik <[email protected]> All callers of these create functions treat NULL and ERR_PTR as equivalent error cases. Align the return convention to NULL-on-failure to simplify the checks at usage sites. Since its return value is never checked and failure is non-fatal, change hv_vhca init function to return void. Signed-off-by: Michael Guralnik <[email protected]> Reviewed-by: Shay Drori <[email protected]> Signed-off-by: Tariq Toukan <[email protected]> --- .../mellanox/mlx5/core/diag/rsc_dump.c | 12 +++++----- .../ethernet/mellanox/mlx5/core/en/health.c | 2 +- .../ethernet/mellanox/mlx5/core/lib/hv_vhca.c | 22 +++++++++---------- .../ethernet/mellanox/mlx5/core/lib/hv_vhca.h | 6 ++--- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c index e770088de129..8044419fb5eb 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c @@ -130,7 +130,7 @@ struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd; int sgmt_type; - if (IS_ERR_OR_NULL(dev->rsc_dump)) + if (!dev->rsc_dump) return ERR_PTR(-EOPNOTSUPP); sgmt_type = dev->rsc_dump->fw_segment_type[key->rsc]; @@ -165,7 +165,7 @@ int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd, bool more_dump; int err; - if (IS_ERR_OR_NULL(dev->rsc_dump)) + if (!dev->rsc_dump) return -EOPNOTSUPP; err = mlx5_rsc_dump_trigger(dev, cmd, page); @@ -257,14 +257,14 @@ struct mlx5_rsc_dump *mlx5_rsc_dump_create(struct mlx5_core_dev *dev) } rsc_dump = kzalloc_obj(*rsc_dump); if (!rsc_dump) - return ERR_PTR(-ENOMEM); + return NULL; return rsc_dump; } void mlx5_rsc_dump_destroy(struct mlx5_core_dev *dev) { - if (IS_ERR_OR_NULL(dev->rsc_dump)) + if (!dev->rsc_dump) return; kfree(dev->rsc_dump); } @@ -274,7 +274,7 @@ int mlx5_rsc_dump_init(struct mlx5_core_dev *dev) struct mlx5_rsc_dump *rsc_dump = dev->rsc_dump; int err; - if (IS_ERR_OR_NULL(dev->rsc_dump)) + if (!dev->rsc_dump) return 0; err = mlx5_core_alloc_pd(dev, &rsc_dump->pdn); @@ -303,7 +303,7 @@ int mlx5_rsc_dump_init(struct mlx5_core_dev *dev) void mlx5_rsc_dump_cleanup(struct mlx5_core_dev *dev) { - if (IS_ERR_OR_NULL(dev->rsc_dump)) + if (!dev->rsc_dump) return; mlx5_core_destroy_mkey(dev, dev->rsc_dump->mkey); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/health.c b/drivers/net/ethernet/mellanox/mlx5/core/en/health.c index cb972b2d46e2..45574f8b10eb 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/health.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/health.c @@ -186,7 +186,7 @@ int mlx5e_health_rsc_fmsg_dump(struct mlx5e_priv *priv, struct mlx5_rsc_key *key struct page *page; int size; - if (IS_ERR_OR_NULL(mdev->rsc_dump)) + if (!mdev->rsc_dump) return -EOPNOTSUPP; page = alloc_page(GFP_KERNEL); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c index 305752dab7bd..4c4cf6da519f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c @@ -44,12 +44,12 @@ struct mlx5_hv_vhca *mlx5_hv_vhca_create(struct mlx5_core_dev *dev) hv_vhca = kzalloc_obj(*hv_vhca); if (!hv_vhca) - return ERR_PTR(-ENOMEM); + return NULL; hv_vhca->work_queue = create_singlethread_workqueue("mlx5_hv_vhca"); if (!hv_vhca->work_queue) { kfree(hv_vhca); - return ERR_PTR(-ENOMEM); + return NULL; } hv_vhca->dev = dev; @@ -60,7 +60,7 @@ struct mlx5_hv_vhca *mlx5_hv_vhca_create(struct mlx5_core_dev *dev) void mlx5_hv_vhca_destroy(struct mlx5_hv_vhca *hv_vhca) { - if (IS_ERR_OR_NULL(hv_vhca)) + if (!hv_vhca) return; destroy_workqueue(hv_vhca->work_queue); @@ -198,28 +198,26 @@ static void mlx5_hv_vhca_control_agent_destroy(struct mlx5_hv_vhca_agent *agent) mlx5_hv_vhca_agent_destroy(agent); } -int mlx5_hv_vhca_init(struct mlx5_hv_vhca *hv_vhca) +void mlx5_hv_vhca_init(struct mlx5_hv_vhca *hv_vhca) { struct mlx5_hv_vhca_agent *agent; int err; - if (IS_ERR_OR_NULL(hv_vhca)) - return IS_ERR_OR_NULL(hv_vhca); + if (!hv_vhca) + return; err = mlx5_hv_register_invalidate(hv_vhca->dev, hv_vhca, mlx5_hv_vhca_invalidate); if (err) - return err; + return; agent = mlx5_hv_vhca_control_agent_create(hv_vhca); if (IS_ERR_OR_NULL(agent)) { mlx5_hv_unregister_invalidate(hv_vhca->dev); - return IS_ERR_OR_NULL(agent); + return; } hv_vhca->agents[MLX5_HV_VHCA_AGENT_CONTROL] = agent; - - return 0; } void mlx5_hv_vhca_cleanup(struct mlx5_hv_vhca *hv_vhca) @@ -227,7 +225,7 @@ void mlx5_hv_vhca_cleanup(struct mlx5_hv_vhca *hv_vhca) struct mlx5_hv_vhca_agent *agent; int i; - if (IS_ERR_OR_NULL(hv_vhca)) + if (!hv_vhca) return; agent = hv_vhca->agents[MLX5_HV_VHCA_AGENT_CONTROL]; @@ -261,7 +259,7 @@ mlx5_hv_vhca_agent_create(struct mlx5_hv_vhca *hv_vhca, { struct mlx5_hv_vhca_agent *agent; - if (IS_ERR_OR_NULL(hv_vhca)) + if (!hv_vhca) return ERR_PTR(-ENOMEM); if (type >= MLX5_HV_VHCA_AGENT_MAX) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.h b/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.h index 8b3974cf0ee4..393dc5b62a17 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.h @@ -31,7 +31,7 @@ struct mlx5_hv_vhca_control_block { struct mlx5_hv_vhca *mlx5_hv_vhca_create(struct mlx5_core_dev *dev); void mlx5_hv_vhca_destroy(struct mlx5_hv_vhca *hv_vhca); -int mlx5_hv_vhca_init(struct mlx5_hv_vhca *hv_vhca); +void mlx5_hv_vhca_init(struct mlx5_hv_vhca *hv_vhca); void mlx5_hv_vhca_cleanup(struct mlx5_hv_vhca *hv_vhca); void mlx5_hv_vhca_invalidate(void *context, u64 block_mask); @@ -63,9 +63,9 @@ static inline void mlx5_hv_vhca_destroy(struct mlx5_hv_vhca *hv_vhca) { } -static inline int mlx5_hv_vhca_init(struct mlx5_hv_vhca *hv_vhca) +static inline void mlx5_hv_vhca_init(struct mlx5_hv_vhca *hv_vhca) { - return 0; + return; } static inline void mlx5_hv_vhca_cleanup(struct mlx5_hv_vhca *hv_vhca) base-commit: d67e5dbda22604d0fcde32fce58c65f88676e676 -- 2.44.0