mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
IB/iser: centralize setting desc type and done callback
Move this common logic into iser_create_send_desc instead of duplicating the code. Reviewed-by: Sergey Gorenko <sergeygo@nvidia.com> Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com> Link: https://lore.kernel.org/r/20230330131333.37900-2-mgurtovoy@nvidia.com Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
parent
b7727e231d
commit
92363895b6
|
|
@ -141,10 +141,14 @@ static int iser_prepare_write_cmd(struct iscsi_task *task, unsigned int imm_sz,
|
|||
|
||||
/* creates a new tx descriptor and adds header regd buffer */
|
||||
static void iser_create_send_desc(struct iser_conn *iser_conn,
|
||||
struct iser_tx_desc *tx_desc)
|
||||
struct iser_tx_desc *tx_desc, enum iser_desc_type type,
|
||||
void (*done)(struct ib_cq *cq, struct ib_wc *wc))
|
||||
{
|
||||
struct iser_device *device = iser_conn->ib_conn.device;
|
||||
|
||||
tx_desc->type = type;
|
||||
tx_desc->cqe.done = done;
|
||||
|
||||
ib_dma_sync_single_for_cpu(device->ib_device,
|
||||
tx_desc->dma_addr, ISER_HEADERS_LEN, DMA_TO_DEVICE);
|
||||
|
||||
|
|
@ -349,9 +353,8 @@ int iser_send_command(struct iscsi_conn *conn, struct iscsi_task *task)
|
|||
edtl = ntohl(hdr->data_length);
|
||||
|
||||
/* build the tx desc regd header and add it to the tx desc dto */
|
||||
tx_desc->type = ISCSI_TX_SCSI_COMMAND;
|
||||
tx_desc->cqe.done = iser_cmd_comp;
|
||||
iser_create_send_desc(iser_conn, tx_desc);
|
||||
iser_create_send_desc(iser_conn, tx_desc, ISCSI_TX_SCSI_COMMAND,
|
||||
iser_cmd_comp);
|
||||
|
||||
if (hdr->flags & ISCSI_FLAG_CMD_READ) {
|
||||
data_buf = &iser_task->data[ISER_DIR_IN];
|
||||
|
|
@ -478,9 +481,8 @@ int iser_send_control(struct iscsi_conn *conn, struct iscsi_task *task)
|
|||
struct iser_device *device;
|
||||
|
||||
/* build the tx desc regd header and add it to the tx desc dto */
|
||||
mdesc->type = ISCSI_TX_CONTROL;
|
||||
mdesc->cqe.done = iser_ctrl_comp;
|
||||
iser_create_send_desc(iser_conn, mdesc);
|
||||
iser_create_send_desc(iser_conn, mdesc, ISCSI_TX_CONTROL,
|
||||
iser_ctrl_comp);
|
||||
|
||||
device = iser_conn->ib_conn.device;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user