All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] scsi: ufs: Unlock on a couple error paths
@ 2019-12-13 10:48 ` Dan Carpenter
  0 siblings, 0 replies; 13+ messages in thread
From: Dan Carpenter @ 2019-12-13 10:48 UTC (permalink / raw)
  To: Alim Akhtar, Bart Van Assche
  Cc: Avri Altman, Pedro Sousa, James E.J. Bottomley,
	Martin K. Petersen, Bean Huo, Stanley Chu, Can Guo,
	Venkat Gopalakrishnan, Tomas Winkler, linux-scsi,
	kernel-janitors

We introduced a few new error paths, but we can't return directly, we
first have to unlock "hba->clk_scaling_lock" first.

Fixes: a276c19e3e98 ("scsi: ufs: Avoid busy-waiting by eliminating tag conflicts")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/scsi/ufs/ufshcd.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index e5cd57e68c46..bf981f0ea74c 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -2617,8 +2617,10 @@ static int ufshcd_exec_dev_cmd(struct ufs_hba *hba,
 	 * the maximum wait time is bounded by SCSI request timeout.
 	 */
 	req = blk_get_request(q, REQ_OP_DRV_OUT, 0);
-	if (IS_ERR(req))
-		return PTR_ERR(req);
+	if (IS_ERR(req)) {
+		err = PTR_ERR(req);
+		goto out_unlock;
+	}
 	tag = req->tag;
 	WARN_ON_ONCE(!ufshcd_valid_tag(hba, tag));
 
@@ -2646,6 +2648,7 @@ static int ufshcd_exec_dev_cmd(struct ufs_hba *hba,
 
 out_put_tag:
 	blk_put_request(req);
+out_unlock:
 	up_read(&hba->clk_scaling_lock);
 	return err;
 }
@@ -5854,8 +5857,10 @@ static int ufshcd_issue_devman_upiu_cmd(struct ufs_hba *hba,
 	down_read(&hba->clk_scaling_lock);
 
 	req = blk_get_request(q, REQ_OP_DRV_OUT, 0);
-	if (IS_ERR(req))
-		return PTR_ERR(req);
+	if (IS_ERR(req)) {
+		err = PTR_ERR(req);
+		goto out_unlock;
+	}
 	tag = req->tag;
 	WARN_ON_ONCE(!ufshcd_valid_tag(hba, tag));
 
@@ -5934,6 +5939,7 @@ static int ufshcd_issue_devman_upiu_cmd(struct ufs_hba *hba,
 	}
 
 	blk_put_request(req);
+out_unlock:
 	up_read(&hba->clk_scaling_lock);
 	return err;
 }
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-12-17  3:05 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-13 10:48 [PATCH 1/2] scsi: ufs: Unlock on a couple error paths Dan Carpenter
2019-12-13 10:48 ` Dan Carpenter
2019-12-13 10:49 ` [PATCH 2/2] scsi: ufs: Simplify a condition Dan Carpenter
2019-12-13 10:49   ` Dan Carpenter
2019-12-13 20:05   ` Bart Van Assche
2019-12-13 20:05     ` Bart Van Assche
2019-12-14  4:28     ` Dan Carpenter
2019-12-14  4:28       ` Dan Carpenter
2019-12-15  6:06   ` Avri Altman
2019-12-13 20:04 ` [PATCH 1/2] scsi: ufs: Unlock on a couple error paths Bart Van Assche
2019-12-13 20:04   ` Bart Van Assche
2019-12-17  3:04 ` Martin K. Petersen
2019-12-17  3:04   ` Martin K. Petersen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.