Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 709d5651 authored by Bart Van Assche's avatar Bart Van Assche Committed by Martin K. Petersen
Browse files

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: default avatarBart Van Assche <bart.vanassche@wdc.com>
Reviewed-by: default avatarMike Christie <mchristi@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 953bcf7a
Loading
Loading
Loading
Loading
+3 −12
Original line number Diff line number Diff line
@@ -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,