diff options
Diffstat (limited to 'drivers/scsi/be2iscsi')
-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) / |