diff mbox series

[v2] scsi: qedf: Simplify mutex_unlock() usage

Message ID 20200403092717.19779-1-dwagner@suse.de (mailing list archive)
State Mainlined
Commit fbbef0dad79f31baca4fdc09779918c70c1b26ca
Headers show
Series [v2] scsi: qedf: Simplify mutex_unlock() usage | expand

Commit Message

Daniel Wagner April 3, 2020, 9:27 a.m. UTC
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.

Cc: Hannes Reinecke <hare@suse.com>
Cc: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
---

changes since v1:
  - refactor the fcport->rdata assignemnt.

 drivers/scsi/qedf/qedf_els.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

Comments

Martin K. Petersen April 14, 2020, 1:16 a.m. UTC | #1
Daniel,

> 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.

Applied to 5.8/scsi-queue, thanks!
diff mbox series

Patch

diff --git a/drivers/scsi/qedf/qedf_els.c b/drivers/scsi/qedf/qedf_els.c
index 87e169dcebdb..542ba9454257 100644
--- a/drivers/scsi/qedf/qedf_els.c
+++ b/drivers/scsi/qedf/qedf_els.c
@@ -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);
 }