scsi: target: Move a list_del_init() statement
authorBart Van Assche <bart.vanassche@wdc.com>
Fri, 22 Jun 2018 21:52:50 +0000 (14:52 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 2 Jul 2018 20:44:30 +0000 (16:44 -0400)
This patch does not change any functionality but makes the next patch
easier to read.

Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Reviewed-by: Mike Christie <mchristi@redhat.com>
Cc: Mike Christie <mchristi@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_transport.c

index 89dd475d0a8f969ad4181275e8a6645eed02f1c6..5e8329c5ddd0783e371d5b52434f6a17f8c215bf 100644 (file)
@@ -2697,6 +2697,7 @@ static void target_release_cmd_kref(struct kref *kref)
 
        if (se_sess) {
                spin_lock_irqsave(&se_sess->sess_cmd_lock, flags);
+               list_del_init(&se_cmd->se_cmd_list);
 
                spin_lock(&se_cmd->t_state_lock);
                fabric_stop = (se_cmd->transport_state & CMD_T_FABRIC_STOP) &&
@@ -2704,13 +2705,11 @@ static void target_release_cmd_kref(struct kref *kref)
                spin_unlock(&se_cmd->t_state_lock);
 
                if (se_cmd->cmd_wait_set || fabric_stop) {
-                       list_del_init(&se_cmd->se_cmd_list);
                        spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags);
                        target_free_cmd_mem(se_cmd);
                        complete(&se_cmd->cmd_wait_comp);
                        return;
                }
-               list_del_init(&se_cmd->se_cmd_list);
                spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags);
        }