scsi: fnic: Validate io_req before others
authorKaran Tilak Kumar <kartilak@cisco.com>
Sat, 21 Nov 2020 02:33:37 +0000 (18:33 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 24 Nov 2020 03:38:40 +0000 (22:38 -0500)
We need to check for a valid io_req before we check other data. Also,
remove redundant checks.

Link: https://lore.kernel.org/r/20201121023337.19295-1-kartilak@cisco.com
Reviewed-by: Arulprabhu Ponnusamy <arulponn@cisco.com>
Co-developed-by: Satish Kharat <satishkh@cisco.com>
Signed-off-by: Satish Kharat <satishkh@cisco.com>
Signed-off-by: Karan Tilak Kumar <kartilak@cisco.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/fnic/fnic.h
drivers/scsi/fnic/fnic_scsi.c

index e4d399f..69f373b 100644 (file)
@@ -39,7 +39,7 @@
 
 #define DRV_NAME               "fnic"
 #define DRV_DESCRIPTION                "Cisco FCoE HBA Driver"
-#define DRV_VERSION            "1.6.0.52"
+#define DRV_VERSION            "1.6.0.53"
 #define PFX                    DRV_NAME ": "
 #define DFX                     DRV_NAME "%d: "
 
index 532c3c7..3674496 100644 (file)
@@ -1735,15 +1735,14 @@ void fnic_terminate_rport_io(struct fc_rport *rport)
                        continue;
                }
 
-               cmd_rport = starget_to_rport(scsi_target(sc->device));
-               if (rport != cmd_rport) {
+               io_req = (struct fnic_io_req *)CMD_SP(sc);
+               if (!io_req) {
                        spin_unlock_irqrestore(io_lock, flags);
                        continue;
                }
 
-               io_req = (struct fnic_io_req *)CMD_SP(sc);
-
-               if (!io_req || rport != cmd_rport) {
+               cmd_rport = starget_to_rport(scsi_target(sc->device));
+               if (rport != cmd_rport) {
                        spin_unlock_irqrestore(io_lock, flags);
                        continue;
                }