scsi: target: Simplify core_tmr_handle_tas_abort()

The code that can set CMD_T_TAS is executed by the same thread as the
thread that executes core_tmr_handle_tas_abort(). That means that no
locking is needed to check CMD_T_TAS from inside
core_tmr_handle_tas_abort(). This patch does not change any functionality.

Signed-off-by: Bart Van Assche <[email protected]>
Reviewed-by: Mike Christie <[email protected]>
Cc: Hannes Reinecke <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
This commit is contained in:
Bart Van Assche 2018-06-22 14:52:55 -07:00 • committed by Martin K. Petersen
commit 709d56512f

View file

@ -77,21 +77,12 @@ void core_tmr_release_req(struct se_tmr_req *tmr)
static int core_tmr_handle_tas_abort(struct se_cmd *cmd, int tas)
{
unsigned long flags;
bool remove = true, send_tas;
/*
* TASK ABORTED status (TAS) bit support
*/
spin_lock_irqsave(&cmd->t_state_lock, flags);
send_tas = (cmd->transport_state & CMD_T_TAS);
spin_unlock_irqrestore(&cmd->t_state_lock, flags);
bool send_tas = cmd->transport_state & CMD_T_TAS;
if (send_tas) {
remove = false;
if (send_tas)
transport_send_task_abort(cmd);
}
return transport_cmd_finish_abort(cmd, remove);
return transport_cmd_finish_abort(cmd, !send_tas);
}
static int target_check_cdb_and_preempt(struct list_head *list,