diff options
Diffstat (limited to 'drivers/target/iscsi/iscsi_target_erl1.c')
-rw-r--r-- | drivers/target/iscsi/iscsi_target_erl1.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/drivers/target/iscsi/iscsi_target_erl1.c b/drivers/target/iscsi/iscsi_target_erl1.c index 40d9dbca987b..586c268679a4 100644 --- a/drivers/target/iscsi/iscsi_target_erl1.c +++ b/drivers/target/iscsi/iscsi_target_erl1.c | |||
@@ -162,9 +162,8 @@ static int iscsit_handle_r2t_snack( | |||
162 | " protocol error.\n", cmd->init_task_tag, begrun, | 162 | " protocol error.\n", cmd->init_task_tag, begrun, |
163 | (begrun + runlength), cmd->acked_data_sn); | 163 | (begrun + runlength), cmd->acked_data_sn); |
164 | 164 | ||
165 | return iscsit_add_reject_from_cmd( | 165 | return iscsit_reject_cmd(cmd, |
166 | ISCSI_REASON_PROTOCOL_ERROR, | 166 | ISCSI_REASON_PROTOCOL_ERROR, buf); |
167 | 1, 0, buf, cmd); | ||
168 | } | 167 | } |
169 | 168 | ||
170 | if (runlength) { | 169 | if (runlength) { |
@@ -173,8 +172,8 @@ static int iscsit_handle_r2t_snack( | |||
173 | " with BegRun: 0x%08x, RunLength: 0x%08x, exceeds" | 172 | " with BegRun: 0x%08x, RunLength: 0x%08x, exceeds" |
174 | " current R2TSN: 0x%08x, protocol error.\n", | 173 | " current R2TSN: 0x%08x, protocol error.\n", |
175 | cmd->init_task_tag, begrun, runlength, cmd->r2t_sn); | 174 | cmd->init_task_tag, begrun, runlength, cmd->r2t_sn); |
176 | return iscsit_add_reject_from_cmd( | 175 | return iscsit_reject_cmd(cmd, |
177 | ISCSI_REASON_BOOKMARK_INVALID, 1, 0, buf, cmd); | 176 | ISCSI_REASON_BOOKMARK_INVALID, buf); |
178 | } | 177 | } |
179 | last_r2tsn = (begrun + runlength); | 178 | last_r2tsn = (begrun + runlength); |
180 | } else | 179 | } else |
@@ -433,8 +432,7 @@ static int iscsit_handle_recovery_datain( | |||
433 | " protocol error.\n", cmd->init_task_tag, begrun, | 432 | " protocol error.\n", cmd->init_task_tag, begrun, |
434 | (begrun + runlength), cmd->acked_data_sn); | 433 | (begrun + runlength), cmd->acked_data_sn); |
435 | 434 | ||
436 | return iscsit_add_reject_from_cmd(ISCSI_REASON_PROTOCOL_ERROR, | 435 | return iscsit_reject_cmd(cmd, ISCSI_REASON_PROTOCOL_ERROR, buf); |
437 | 1, 0, buf, cmd); | ||
438 | } | 436 | } |
439 | 437 | ||
440 | /* | 438 | /* |
@@ -445,14 +443,14 @@ static int iscsit_handle_recovery_datain( | |||
445 | pr_err("Initiator requesting BegRun: 0x%08x, RunLength" | 443 | pr_err("Initiator requesting BegRun: 0x%08x, RunLength" |
446 | ": 0x%08x greater than maximum DataSN: 0x%08x.\n", | 444 | ": 0x%08x greater than maximum DataSN: 0x%08x.\n", |
447 | begrun, runlength, (cmd->data_sn - 1)); | 445 | begrun, runlength, (cmd->data_sn - 1)); |
448 | return iscsit_add_reject_from_cmd(ISCSI_REASON_BOOKMARK_INVALID, | 446 | return iscsit_reject_cmd(cmd, ISCSI_REASON_BOOKMARK_INVALID, |
449 | 1, 0, buf, cmd); | 447 | buf); |
450 | } | 448 | } |
451 | 449 | ||
452 | dr = iscsit_allocate_datain_req(); | 450 | dr = iscsit_allocate_datain_req(); |
453 | if (!dr) | 451 | if (!dr) |
454 | return iscsit_add_reject_from_cmd(ISCSI_REASON_BOOKMARK_NO_RESOURCES, | 452 | return iscsit_reject_cmd(cmd, ISCSI_REASON_BOOKMARK_NO_RESOURCES, |
455 | 1, 0, buf, cmd); | 453 | buf); |
456 | 454 | ||
457 | dr->data_sn = dr->begrun = begrun; | 455 | dr->data_sn = dr->begrun = begrun; |
458 | dr->runlength = runlength; | 456 | dr->runlength = runlength; |
@@ -1090,7 +1088,7 @@ int iscsit_handle_ooo_cmdsn( | |||
1090 | 1088 | ||
1091 | ooo_cmdsn = iscsit_allocate_ooo_cmdsn(); | 1089 | ooo_cmdsn = iscsit_allocate_ooo_cmdsn(); |
1092 | if (!ooo_cmdsn) | 1090 | if (!ooo_cmdsn) |
1093 | return CMDSN_ERROR_CANNOT_RECOVER; | 1091 | return -ENOMEM; |
1094 | 1092 | ||
1095 | ooo_cmdsn->cmd = cmd; | 1093 | ooo_cmdsn->cmd = cmd; |
1096 | ooo_cmdsn->batch_count = (batch) ? | 1094 | ooo_cmdsn->batch_count = (batch) ? |
@@ -1101,10 +1099,10 @@ int iscsit_handle_ooo_cmdsn( | |||
1101 | 1099 | ||
1102 | if (iscsit_attach_ooo_cmdsn(sess, ooo_cmdsn) < 0) { | 1100 | if (iscsit_attach_ooo_cmdsn(sess, ooo_cmdsn) < 0) { |
1103 | kmem_cache_free(lio_ooo_cache, ooo_cmdsn); | 1101 | kmem_cache_free(lio_ooo_cache, ooo_cmdsn); |
1104 | return CMDSN_ERROR_CANNOT_RECOVER; | 1102 | return -ENOMEM; |
1105 | } | 1103 | } |
1106 | 1104 | ||
1107 | return CMDSN_HIGHER_THAN_EXP; | 1105 | return 0; |
1108 | } | 1106 | } |
1109 | 1107 | ||
1110 | static int iscsit_set_dataout_timeout_values( | 1108 | static int iscsit_set_dataout_timeout_values( |