summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaran Tilak Kumar <kartilak@cisco.com>2026-02-18 01:39:42 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2026-02-24 22:09:24 +0300
commit927b5282df6463fea8eeb1342e58cec0fa03b35e (patch)
treefcac767619d8e0c11a08918a820be63af142c2fd
parent31eda39bfd468a0fbabc0179e913c0755377e3b5 (diff)
downloadlinux-927b5282df6463fea8eeb1342e58cec0fa03b35e.tar.xz
scsi: fnic: Refactor in_remove flag and call to fnic_fcpio_reset()
Modify logic to remove unnecessary acquire/release of spinlock to set in_remove flag. There's also no need to check for init status to call fnic_fcpio_reset. Tested-by: Karan Tilak Kumar <kartilak@cisco.com> Reviewed-by: Sesidhar Baddela <sebaddel@cisco.com> Reviewed-by: Arulprabhu Ponnusamy <arulponn@cisco.com> Reviewed-by: Gian Carlo Boffa <gcboffa@cisco.com> Reviewed-by: Arun Easi <aeasi@cisco.com> Reviewed-by: Hannes Reinecke <hare@kernel.org> Signed-off-by: Karan Tilak Kumar <kartilak@cisco.com> Co-developed-by: Hannes Reinecke <hare@kernel.org> Link: https://patch.msgid.link/20260217223943.7938-4-kartilak@cisco.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/fnic/fnic_scsi.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c
index 05b203b9b69b..7e41bb8a7628 100644
--- a/drivers/scsi/fnic/fnic_scsi.c
+++ b/drivers/scsi/fnic/fnic_scsi.c
@@ -1972,14 +1972,11 @@ void fnic_scsi_unload(struct fnic *fnic)
*/
spin_lock_irqsave(&fnic->fnic_lock, flags);
fnic->iport.state = FNIC_IPORT_STATE_LINK_WAIT;
- spin_unlock_irqrestore(&fnic->fnic_lock, flags);
-
- if (fdls_get_state(&fnic->iport.fabric) != FDLS_STATE_INIT)
- fnic_fcpio_reset(fnic);
- spin_lock_irqsave(&fnic->fnic_lock, flags);
fnic->in_remove = 1;
spin_unlock_irqrestore(&fnic->fnic_lock, flags);
+ fnic_fcpio_reset(fnic);
+
fnic_flush_tport_event_list(fnic);
fnic_delete_fcp_tports(fnic);
}