From fbdf2da4be60edec54d95dc9664997959ebd7873 Mon Sep 17 00:00:00 2001 From: Nicholas Bellinger Date: Tue, 9 Aug 2011 22:53:02 -0700 Subject: [PATCH] --- yaml --- r: 263295 b: refs/heads/master c: 72f4ba1e32a1e5da31dcf14ea4b8985ae88a8bdb h: refs/heads/master i: 263293: f88a870b110da4fabb91a23f65bb01b35a8bdbe9 263291: ab03435ac8fde59a20c5056d456ce2d0196a45d5 263287: 8d8b33812bc0477a9fff5f8d4f6450e016a3ac38 263279: 9f4d9d8fa5160d5b56f031089e66e8a5443f7381 263263: b0f9475c28d8590178376b8419acf75e57e70872 263231: 065a7730b9980ad65c23319db6357abd645c2eab 263167: b80f9c74578d1a2ae817d47e4d9e75929a2a2da9 v: v3 --- [refs] | 2 +- trunk/drivers/target/target_core_cdb.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 63e6804b62c9..a62122ce5e09 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 12850626e2717f866a94e6ced724e3efe5a0aab8 +refs/heads/master: 72f4ba1e32a1e5da31dcf14ea4b8985ae88a8bdb diff --git a/trunk/drivers/target/target_core_cdb.c b/trunk/drivers/target/target_core_cdb.c index 4c1d3a98e894..40ad142f7cb3 100644 --- a/trunk/drivers/target/target_core_cdb.c +++ b/trunk/drivers/target/target_core_cdb.c @@ -1077,8 +1077,6 @@ target_emulate_unmap(struct se_task *task) size -= 16; } - task->task_scsi_status = GOOD; - transport_complete_task(task, 1); err: transport_kunmap_first_data_page(cmd); @@ -1115,8 +1113,6 @@ target_emulate_write_same(struct se_task *task, u32 num_blocks) return ret; } - task->task_scsi_status = GOOD; - transport_complete_task(task, 1); return 0; } @@ -1228,8 +1224,14 @@ transport_emulate_control_cdb(struct se_task *task) if (ret < 0) return ret; - task->task_scsi_status = GOOD; - transport_complete_task(task, 1); + /* + * Handle the successful completion here unless a caller + * has explictly requested an asychronous completion. + */ + if (!(cmd->se_cmd_flags & SCF_EMULATE_CDB_ASYNC)) { + task->task_scsi_status = GOOD; + transport_complete_task(task, 1); + } return PYX_TRANSPORT_SENT_TO_TRANSPORT; }