diff options
author | Jayamohan Kallickal <jayamohank@serverengines.com> | 2010-01-04 18:37:02 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-01-18 11:48:19 -0500 |
commit | 7bd6e25cdbee7d4f6bc4946dc914310220e637b8 (patch) | |
tree | 1469bd82985ab9593d7122f2a0710d4ba66ba282 /drivers/scsi/be2iscsi/be_main.c | |
parent | d543148883f65c34e6cd54c5e9ed0592dfbb6acb (diff) |
[SCSI] be2iscsi: Added opcode for LOGOUT_RSP, TEXT_RESP, TMFUNC_RSP
This patch adds opcodes in thecompletion path that were
missed out earlier
Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/be2iscsi/be_main.c')
-rw-r--r-- | drivers/scsi/be2iscsi/be_main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c index ac76b14ec4c1..4a855a9c7126 100644 --- a/drivers/scsi/be2iscsi/be_main.c +++ b/drivers/scsi/be2iscsi/be_main.c | |||
@@ -559,6 +559,7 @@ beiscsi_process_async_pdu(struct beiscsi_conn *beiscsi_conn, | |||
559 | SE_DEBUG(DBG_LVL_1, "In ISCSI_OP_REJECT\n"); | 559 | SE_DEBUG(DBG_LVL_1, "In ISCSI_OP_REJECT\n"); |
560 | break; | 560 | break; |
561 | case ISCSI_OP_LOGIN_RSP: | 561 | case ISCSI_OP_LOGIN_RSP: |
562 | case ISCSI_OP_TEXT_RSP: | ||
562 | task = conn->login_task; | 563 | task = conn->login_task; |
563 | io_task = task->dd_data; | 564 | io_task = task->dd_data; |
564 | login_hdr = (struct iscsi_hdr *)ppdu; | 565 | login_hdr = (struct iscsi_hdr *)ppdu; |
@@ -810,6 +811,7 @@ be_complete_logout(struct beiscsi_conn *beiscsi_conn, | |||
810 | struct iscsi_conn *conn = beiscsi_conn->conn; | 811 | struct iscsi_conn *conn = beiscsi_conn->conn; |
811 | 812 | ||
812 | hdr = (struct iscsi_logout_rsp *)task->hdr; | 813 | hdr = (struct iscsi_logout_rsp *)task->hdr; |
814 | hdr->opcode = ISCSI_OP_LOGOUT_RSP; | ||
813 | hdr->t2wait = 5; | 815 | hdr->t2wait = 5; |
814 | hdr->t2retain = 0; | 816 | hdr->t2retain = 0; |
815 | hdr->flags = ((psol->dw[offsetof(struct amap_sol_cqe, i_flags) / 32] | 817 | hdr->flags = ((psol->dw[offsetof(struct amap_sol_cqe, i_flags) / 32] |
@@ -824,6 +826,9 @@ be_complete_logout(struct beiscsi_conn *beiscsi_conn, | |||
824 | & SOL_EXP_CMD_SN_MASK) + | 826 | & SOL_EXP_CMD_SN_MASK) + |
825 | ((psol->dw[offsetof(struct amap_sol_cqe, i_cmd_wnd) | 827 | ((psol->dw[offsetof(struct amap_sol_cqe, i_cmd_wnd) |
826 | / 32] & SOL_CMD_WND_MASK) >> 24) - 1); | 828 | / 32] & SOL_CMD_WND_MASK) >> 24) - 1); |
829 | hdr->dlength[0] = 0; | ||
830 | hdr->dlength[1] = 0; | ||
831 | hdr->dlength[2] = 0; | ||
827 | hdr->hlength = 0; | 832 | hdr->hlength = 0; |
828 | hdr->itt = io_task->libiscsi_itt; | 833 | hdr->itt = io_task->libiscsi_itt; |
829 | __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, NULL, 0); | 834 | __iscsi_complete_pdu(conn, (struct iscsi_hdr *)hdr, NULL, 0); |
@@ -838,6 +843,7 @@ be_complete_tmf(struct beiscsi_conn *beiscsi_conn, | |||
838 | struct beiscsi_io_task *io_task = task->dd_data; | 843 | struct beiscsi_io_task *io_task = task->dd_data; |
839 | 844 | ||
840 | hdr = (struct iscsi_tm_rsp *)task->hdr; | 845 | hdr = (struct iscsi_tm_rsp *)task->hdr; |
846 | hdr->opcode = ISCSI_OP_SCSI_TMFUNC_RSP; | ||
841 | hdr->flags = ((psol->dw[offsetof(struct amap_sol_cqe, i_flags) / 32] | 847 | hdr->flags = ((psol->dw[offsetof(struct amap_sol_cqe, i_flags) / 32] |
842 | & SOL_FLAGS_MASK) >> 24) | 0x80; | 848 | & SOL_FLAGS_MASK) >> 24) | 0x80; |
843 | hdr->response = (psol->dw[offsetof(struct amap_sol_cqe, i_resp) / | 849 | hdr->response = (psol->dw[offsetof(struct amap_sol_cqe, i_resp) / |