From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Bart Van Assche <bvanassche@acm.org>,
Dan Carpenter <dan.carpenter@oracle.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>
Subject: [PATCH 5.4 19/21] scsi: ufs: Unlock on a couple error paths
Date: Wed, 5 May 2021 14:04:33 +0200 [thread overview]
Message-ID: <20210505112325.358920378@linuxfoundation.org> (raw)
In-Reply-To: <20210505112324.729798712@linuxfoundation.org>
From: Dan Carpenter <dan.carpenter@oracle.com>
commit bb14dd1564c90d333f51e69dd6fc880b8233ce11 upstream.
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")
Link: https://lore.kernel.org/r/20191213104828.7i64cpoof26rc4fw@kili.mountain
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/scsi/ufs/ufshcd.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -2639,8 +2639,10 @@ static int ufshcd_exec_dev_cmd(struct uf
* 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));
@@ -2668,6 +2670,7 @@ static int ufshcd_exec_dev_cmd(struct uf
out_put_tag:
blk_put_request(req);
+out_unlock:
up_read(&hba->clk_scaling_lock);
return err;
}
@@ -5842,8 +5845,10 @@ static int ufshcd_issue_devman_upiu_cmd(
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));
@@ -5920,6 +5925,7 @@ static int ufshcd_issue_devman_upiu_cmd(
}
blk_put_request(req);
+out_unlock:
up_read(&hba->clk_scaling_lock);
return err;
}
next prev parent reply other threads:[~2021-05-05 12:05 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-05 12:04 [PATCH 5.4 00/21] 5.4.117-rc1 review Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 01/21] mips: Do not include hi and lo in clobber list for R6 Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 02/21] ACPI: tables: x86: Reserve memory occupied by ACPI tables Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 03/21] ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 04/21] net: usb: ax88179_178a: initialize local variables before use Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 05/21] igb: Enable RSS for Intel I211 Ethernet Controller Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 06/21] iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 07/21] bpf: Fix masking negation logic upon negative dst register Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 08/21] bpf: Fix leakage of uninitialized bpf stack under speculation Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 09/21] avoid __memcat_p link failure Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 10/21] iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 11/21] perf data: Fix error return code in perf_data__create_dir() Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 12/21] perf ftrace: Fix access to pid in array when setting a pid filter Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 13/21] ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 14/21] USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 15/21] USB: Add reset-resume quirk for WD19s Realtek Hub Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 16/21] ASoC: ak4458: Add MODULE_DEVICE_TABLE Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 17/21] ASoC: ak5558: " Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 18/21] platform/x86: thinkpad_acpi: Correct thermal sensor allocation Greg Kroah-Hartman
2021-05-05 12:04 ` Greg Kroah-Hartman [this message]
2021-05-05 12:04 ` [PATCH 5.4 20/21] ovl: allow upperdir inside lowerdir Greg Kroah-Hartman
2021-05-05 12:04 ` [PATCH 5.4 21/21] perf/core: Fix unconditional security_locked_down() call Greg Kroah-Hartman
2021-05-05 19:24 ` [PATCH 5.4 00/21] 5.4.117-rc1 review Florian Fainelli
2021-05-05 21:05 ` Shuah Khan
2021-05-05 21:49 ` Guenter Roeck
2021-05-06 2:15 ` Daniel Díaz
2021-05-06 2:35 ` Guenter Roeck
2021-05-06 7:59 ` Greg Kroah-Hartman
2021-05-06 1:03 ` Samuel Zou
2021-05-06 1:49 ` Guenter Roeck
2021-05-06 8:48 ` Naresh Kamboju
2021-05-06 10:09 ` Sudip Mukherjee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210505112325.358920378@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=bvanassche@acm.org \
--cc=dan.carpenter@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).