When target_mgmt_request() function receives unknown or unsupported task management function code or task was already completed for ABORT_TASK request, iscsi_tm_execute() and iser_tm_exec() functions exit without clearing task_in_scsi flag even though scsi command is not in processing. This is because the current implementation of target_mgmt_request() function returns -EINVAL or -EEXIST for the above cases and iscsi_tm_execute() and iser_tm_exec() do not handle these return codes. This fixes the issue by changing the return value of target_mgmt_request() to MGMT_REQ_FAILED for such cases. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> --- usr/target.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr/target.c b/usr/target.c index b6f324c..0f3066b 100644 --- a/usr/target.c +++ b/usr/target.c @@ -1454,7 +1454,7 @@ enum mgmt_req_result target_mgmt_request(int tid, uint64_t itn_id, } if (err) - return err; + return MGMT_REQ_FAILED; else if (send) return MGMT_REQ_DONE; -- 1.7.9.3 -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html