When we call target_execute_cmd for write commands the command has been on the state list before an abort might have come in before target_execute_cmd. Call transport_check_aborted_status to deal with this case. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- drivers/target/target_core_transport.c | 6 ++++++ 1 file changed, 6 insertions(+) Index: lio-core/drivers/target/target_core_transport.c =================================================================== --- lio-core.orig/drivers/target/target_core_transport.c 2012-07-01 14:29:24.674261892 +0200 +++ lio-core/drivers/target/target_core_transport.c 2012-07-01 14:29:26.027595216 +0200 @@ -1859,6 +1859,12 @@ void target_execute_cmd(struct se_cmd *c struct se_device *dev = cmd->se_dev; /* + * If the received CDB has aleady been aborted stop processing it here. + */ + if (transport_check_aborted_status(cmd, 1)) + return; + + /* * Determine if IOCTL context caller in requesting the stopping of this * command for LUN shutdown purposes. */ -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html