aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/be2iscsi/be_main.c
diff options
context:
space:
mode:
authorJayamohan Kallickal <jayamohank@serverengines.com>2010-01-04 18:37:02 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-01-18 11:48:19 -0500
commit7bd6e25cdbee7d4f6bc4946dc914310220e637b8 (patch)
tree1469bd82985ab9593d7122f2a0710d4ba66ba282 /drivers/scsi/be2iscsi/be_main.c
parentd543148883f65c34e6cd54c5e9ed0592dfbb6acb (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.c6
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) /