RDMA: Convert destroy_wq to be void
authorLeon Romanovsky <leonro@mellanox.com>
Wed, 12 Jun 2019 12:27:41 +0000 (15:27 +0300)
committerDoug Ledford <dledford@redhat.com>
Thu, 20 Jun 2019 18:37:02 +0000 (14:37 -0400)
All callers of destroy WQ are always success and there is no need
to check their return value, so convert destroy_wq to be void.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/verbs.c
drivers/infiniband/hw/mlx4/mlx4_ib.h
drivers/infiniband/hw/mlx4/qp.c
drivers/infiniband/hw/mlx5/mlx5_ib.h
drivers/infiniband/hw/mlx5/qp.c
include/rdma/ib_verbs.h

index 588f1d195fd254cff1a0df8260e2692c22bc5f90..16ef8a9bda4c2f6daddd3e67d8006117184edb89 100644 (file)
@@ -2235,19 +2235,17 @@ EXPORT_SYMBOL(ib_create_wq);
  */
 int ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata)
 {
-       int err;
        struct ib_cq *cq = wq->cq;
        struct ib_pd *pd = wq->pd;
 
        if (atomic_read(&wq->usecnt))
                return -EBUSY;
 
-       err = wq->device->ops.destroy_wq(wq, udata);
-       if (!err) {
-               atomic_dec(&pd->usecnt);
-               atomic_dec(&cq->usecnt);
-       }
-       return err;
+       wq->device->ops.destroy_wq(wq, udata);
+       atomic_dec(&pd->usecnt);
+       atomic_dec(&cq->usecnt);
+
+       return 0;
 }
 EXPORT_SYMBOL(ib_destroy_wq);
 
index 81b3d85e5167bee614c2dc8863070b5ec7507b83..eb53bb4c0c91cc0e7a7af87e3a3f6f4b2767f446 100644 (file)
@@ -906,7 +906,7 @@ void mlx4_ib_sl2vl_update(struct mlx4_ib_dev *mdev, int port);
 struct ib_wq *mlx4_ib_create_wq(struct ib_pd *pd,
                                struct ib_wq_init_attr *init_attr,
                                struct ib_udata *udata);
-int mlx4_ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata);
+void mlx4_ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata);
 int mlx4_ib_modify_wq(struct ib_wq *wq, struct ib_wq_attr *wq_attr,
                      u32 wq_attr_mask, struct ib_udata *udata);
 
index 5221c0794d1d0a88ce5ccff5be3b6b10c0363947..520364defa28ddda7256357bd81899fa29097165 100644 (file)
@@ -4248,7 +4248,7 @@ int mlx4_ib_modify_wq(struct ib_wq *ibwq, struct ib_wq_attr *wq_attr,
        return err;
 }
 
-int mlx4_ib_destroy_wq(struct ib_wq *ibwq, struct ib_udata *udata)
+void mlx4_ib_destroy_wq(struct ib_wq *ibwq, struct ib_udata *udata)
 {
        struct mlx4_ib_dev *dev = to_mdev(ibwq->device);
        struct mlx4_ib_qp *qp = to_mqp((struct ib_qp *)ibwq);
@@ -4259,8 +4259,6 @@ int mlx4_ib_destroy_wq(struct ib_wq *ibwq, struct ib_udata *udata)
        destroy_qp_common(dev, qp, MLX4_IB_RWQ_SRC, udata);
 
        kfree(qp);
-
-       return 0;
 }
 
 struct ib_rwq_ind_table
index 35e2c8f5ae78e66dac02ab9574c89bd54f28110d..82cfe86087b69c0d2a99492fe7fbe405ccd9563c 100644 (file)
@@ -1201,7 +1201,7 @@ int mlx5_ib_check_mr_status(struct ib_mr *ibmr, u32 check_mask,
 struct ib_wq *mlx5_ib_create_wq(struct ib_pd *pd,
                                struct ib_wq_init_attr *init_attr,
                                struct ib_udata *udata);
-int mlx5_ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata);
+void mlx5_ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata);
 int mlx5_ib_modify_wq(struct ib_wq *wq, struct ib_wq_attr *wq_attr,
                      u32 wq_attr_mask, struct ib_udata *udata);
 struct ib_rwq_ind_table *mlx5_ib_create_rwq_ind_table(struct ib_device *device,
index f6623c77443ab07d2ddece4ceb7ec6c360aa9ea8..ae847709b3d3bdd80fe44d85ad9845b4c48574cd 100644 (file)
@@ -6047,7 +6047,7 @@ err:
        return ERR_PTR(err);
 }
 
-int mlx5_ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata)
+void mlx5_ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata)
 {
        struct mlx5_ib_dev *dev = to_mdev(wq->device);
        struct mlx5_ib_rwq *rwq = to_mrwq(wq);
@@ -6055,8 +6055,6 @@ int mlx5_ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata)
        mlx5_core_destroy_rq_tracked(dev->mdev, &rwq->core_qp);
        destroy_user_rq(dev, wq->pd, rwq, udata);
        kfree(rwq);
-
-       return 0;
 }
 
 struct ib_rwq_ind_table *mlx5_ib_create_rwq_ind_table(struct ib_device *device,
index 6f09fcc21d7a419f194b889509e566733b978ab2..805148a126609928fa9dd0df13f33af0a87f532e 100644 (file)
@@ -2509,7 +2509,7 @@ struct ib_device_ops {
        struct ib_wq *(*create_wq)(struct ib_pd *pd,
                                   struct ib_wq_init_attr *init_attr,
                                   struct ib_udata *udata);
-       int (*destroy_wq)(struct ib_wq *wq, struct ib_udata *udata);
+       void (*destroy_wq)(struct ib_wq *wq, struct ib_udata *udata);
        int (*modify_wq)(struct ib_wq *wq, struct ib_wq_attr *attr,
                         u32 wq_attr_mask, struct ib_udata *udata);
        struct ib_rwq_ind_table *(*create_rwq_ind_table)(