OSDN Git Service

scsi: qedf: Simplify mutex_unlock() usage
authorDaniel Wagner <dwagner@suse.de>
Fri, 3 Apr 2020 09:27:17 +0000 (11:27 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 14 Apr 2020 00:38:24 +0000 (20:38 -0400)
The commit 6d1368e8f987 ("scsi: qedf: fixup locking in
qedf_restart_rport()") introduced the lock. Though the lock protects
only the fc_rport_create() call. Thus, we can move the mutex unlock up
before the if statement and drop the else body.

Link: https://lore.kernel.org/r/20200403092717.19779-1-dwagner@suse.de
Cc: Hannes Reinecke <hare@suse.com>
Cc: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf_els.c

index 87e169d..542ba94 100644 (file)
@@ -388,14 +388,10 @@ void qedf_restart_rport(struct qedf_rport *fcport)
                mutex_lock(&lport->disc.disc_mutex);
                /* Recreate the rport and log back in */
                rdata = fc_rport_create(lport, port_id);
-               if (rdata) {
-                       mutex_unlock(&lport->disc.disc_mutex);
+               mutex_unlock(&lport->disc.disc_mutex);
+               if (rdata)
                        fc_rport_login(rdata);
-                       fcport->rdata = rdata;
-               } else {
-                       mutex_unlock(&lport->disc.disc_mutex);
-                       fcport->rdata = NULL;
-               }
+               fcport->rdata = rdata;
        }
        clear_bit(QEDF_RPORT_IN_RESET, &fcport->flags);
 }