|
@@ -2555,7 +2555,7 @@ static int iscsit_send_conn_drop_async_message(
|
|
cmd->stat_sn = conn->stat_sn++;
|
|
cmd->stat_sn = conn->stat_sn++;
|
|
hdr->statsn = cpu_to_be32(cmd->stat_sn);
|
|
hdr->statsn = cpu_to_be32(cmd->stat_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
hdr->async_event = ISCSI_ASYNC_MSG_DROPPING_CONNECTION;
|
|
hdr->async_event = ISCSI_ASYNC_MSG_DROPPING_CONNECTION;
|
|
hdr->param1 = cpu_to_be16(cmd->logout_cid);
|
|
hdr->param1 = cpu_to_be16(cmd->logout_cid);
|
|
hdr->param2 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Wait);
|
|
hdr->param2 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Wait);
|
|
@@ -2627,7 +2627,7 @@ iscsit_build_datain_pdu(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
|
|
hdr->statsn = cpu_to_be32(0xFFFFFFFF);
|
|
hdr->statsn = cpu_to_be32(0xFFFFFFFF);
|
|
|
|
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
hdr->datasn = cpu_to_be32(datain->data_sn);
|
|
hdr->datasn = cpu_to_be32(datain->data_sn);
|
|
hdr->offset = cpu_to_be32(datain->offset);
|
|
hdr->offset = cpu_to_be32(datain->offset);
|
|
|
|
|
|
@@ -2838,7 +2838,7 @@ iscsit_build_logout_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
|
|
|
|
|
|
iscsit_increment_maxcmdsn(cmd, conn->sess);
|
|
iscsit_increment_maxcmdsn(cmd, conn->sess);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
|
|
|
|
pr_debug("Built Logout Response ITT: 0x%08x StatSN:"
|
|
pr_debug("Built Logout Response ITT: 0x%08x StatSN:"
|
|
" 0x%08x Response: 0x%02x CID: %hu on CID: %hu\n",
|
|
" 0x%08x Response: 0x%02x CID: %hu on CID: %hu\n",
|
|
@@ -2901,7 +2901,7 @@ iscsit_build_nopin_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
|
|
iscsit_increment_maxcmdsn(cmd, conn->sess);
|
|
iscsit_increment_maxcmdsn(cmd, conn->sess);
|
|
|
|
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
|
|
|
|
pr_debug("Built NOPIN %s Response ITT: 0x%08x, TTT: 0x%08x,"
|
|
pr_debug("Built NOPIN %s Response ITT: 0x%08x, TTT: 0x%08x,"
|
|
" StatSN: 0x%08x, Length %u\n", (nopout_response) ?
|
|
" StatSN: 0x%08x, Length %u\n", (nopout_response) ?
|
|
@@ -3048,7 +3048,7 @@ static int iscsit_send_r2t(
|
|
hdr->ttt = cpu_to_be32(r2t->targ_xfer_tag);
|
|
hdr->ttt = cpu_to_be32(r2t->targ_xfer_tag);
|
|
hdr->statsn = cpu_to_be32(conn->stat_sn);
|
|
hdr->statsn = cpu_to_be32(conn->stat_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
hdr->r2tsn = cpu_to_be32(r2t->r2t_sn);
|
|
hdr->r2tsn = cpu_to_be32(r2t->r2t_sn);
|
|
hdr->data_offset = cpu_to_be32(r2t->offset);
|
|
hdr->data_offset = cpu_to_be32(r2t->offset);
|
|
hdr->data_length = cpu_to_be32(r2t->xfer_len);
|
|
hdr->data_length = cpu_to_be32(r2t->xfer_len);
|
|
@@ -3201,7 +3201,7 @@ void iscsit_build_rsp_pdu(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
|
|
|
|
|
|
iscsit_increment_maxcmdsn(cmd, conn->sess);
|
|
iscsit_increment_maxcmdsn(cmd, conn->sess);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
|
|
|
|
pr_debug("Built SCSI Response, ITT: 0x%08x, StatSN: 0x%08x,"
|
|
pr_debug("Built SCSI Response, ITT: 0x%08x, StatSN: 0x%08x,"
|
|
" Response: 0x%02x, SAM Status: 0x%02x, CID: %hu\n",
|
|
" Response: 0x%02x, SAM Status: 0x%02x, CID: %hu\n",
|
|
@@ -3320,7 +3320,7 @@ iscsit_build_task_mgt_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
|
|
|
|
|
|
iscsit_increment_maxcmdsn(cmd, conn->sess);
|
|
iscsit_increment_maxcmdsn(cmd, conn->sess);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
|
|
|
|
pr_debug("Built Task Management Response ITT: 0x%08x,"
|
|
pr_debug("Built Task Management Response ITT: 0x%08x,"
|
|
" StatSN: 0x%08x, Response: 0x%02x, CID: %hu\n",
|
|
" StatSN: 0x%08x, Response: 0x%02x, CID: %hu\n",
|
|
@@ -3575,7 +3575,7 @@ iscsit_build_text_rsp(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
|
|
*/
|
|
*/
|
|
cmd->maxcmdsn_inc = 0;
|
|
cmd->maxcmdsn_inc = 0;
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
|
|
|
|
pr_debug("Built Text Response: ITT: 0x%08x, TTT: 0x%08x, StatSN: 0x%08x,"
|
|
pr_debug("Built Text Response: ITT: 0x%08x, TTT: 0x%08x, StatSN: 0x%08x,"
|
|
" Length: %u, CID: %hu F: %d C: %d\n", cmd->init_task_tag,
|
|
" Length: %u, CID: %hu F: %d C: %d\n", cmd->init_task_tag,
|
|
@@ -3653,7 +3653,7 @@ iscsit_build_reject(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
|
|
cmd->stat_sn = conn->stat_sn++;
|
|
cmd->stat_sn = conn->stat_sn++;
|
|
hdr->statsn = cpu_to_be32(cmd->stat_sn);
|
|
hdr->statsn = cpu_to_be32(cmd->stat_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
|
|
- hdr->max_cmdsn = cpu_to_be32(conn->sess->max_cmd_sn);
|
|
|
|
|
|
+ hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
|
|
|
|
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(iscsit_build_reject);
|
|
EXPORT_SYMBOL(iscsit_build_reject);
|