IB/iser: Remove iser_reg_data_sg helper function
authorMax Gurtovoy <mgurtovoy@nvidia.com>
Tue, 8 Mar 2022 14:55:43 +0000 (16:55 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 18 Mar 2022 17:37:49 +0000 (14:37 -0300)
Open coding it makes the code more readable and simple.

Link: https://lore.kernel.org/r/20220308145546.8372-2-mgurtovoy@nvidia.com
Reviewed-by: Sergey Gorenko <sergeygo@nvidia.com>
Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Acked-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/ulp/iser/iser_memory.c

index f1fd05d8609db508a7b7e4cf4e4d9b989eeccc95..1317e18cfaa8392a0f4a4fcc30b82798c7dc2675 100644 (file)
@@ -326,40 +326,26 @@ static int iser_fast_reg_mr(struct iscsi_iser_task *iser_task,
        return 0;
 }
 
-static int iser_reg_data_sg(struct iscsi_iser_task *task,
-                           struct iser_data_buf *mem,
-                           struct iser_fr_desc *desc, bool use_dma_key,
-                           struct iser_mem_reg *reg)
-{
-       struct iser_device *device = task->iser_conn->ib_conn.device;
-
-       if (use_dma_key)
-               return iser_reg_dma(device, mem, reg);
-
-       return iser_fast_reg_mr(task, mem, &desc->rsc, reg);
-}
-
 int iser_reg_mem_fastreg(struct iscsi_iser_task *task,
                         enum iser_data_dir dir,
                         bool all_imm)
 {
        struct ib_conn *ib_conn = &task->iser_conn->ib_conn;
+       struct iser_device *device = ib_conn->device;
        struct iser_data_buf *mem = &task->data[dir];
        struct iser_mem_reg *reg = &task->rdma_reg[dir];
-       struct iser_fr_desc *desc = NULL;
+       struct iser_fr_desc *desc;
        bool use_dma_key;
        int err;
 
        use_dma_key = mem->dma_nents == 1 && (all_imm || !iser_always_reg) &&
                      scsi_get_prot_op(task->sc) == SCSI_PROT_NORMAL;
+       if (use_dma_key)
+               return iser_reg_dma(device, mem, reg);
 
-       if (!use_dma_key) {
-               desc = iser_reg_desc_get_fr(ib_conn);
-               reg->mem_h = desc;
-       }
-
+       desc = iser_reg_desc_get_fr(ib_conn);
        if (scsi_get_prot_op(task->sc) == SCSI_PROT_NORMAL) {
-               err = iser_reg_data_sg(task, mem, desc, use_dma_key, reg);
+               err = iser_fast_reg_mr(task, mem, &desc->rsc, reg);
                if (unlikely(err))
                        goto err_reg;
        } else {
@@ -371,11 +357,12 @@ int iser_reg_mem_fastreg(struct iscsi_iser_task *task,
                desc->sig_protected = true;
        }
 
+       reg->mem_h = desc;
+
        return 0;
 
 err_reg:
-       if (desc)
-               iser_reg_desc_put_fr(ib_conn, desc);
+       iser_reg_desc_put_fr(ib_conn, desc);
 
        return err;
 }