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: 33+ 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 18:54 ` [PATCH 5.4 00/21] 5.4.117-rc1 review Jon Hunter
2021-05-05 19:24 ` 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 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.