UPSTREAM: scsi: ufs: Use DECLARE_COMPLETION_ONSTACK() where appropriate
From Documentation/scheduler/completion.rst: "When a completion is declared as a local variable within a function, then the initialization should always use DECLARE_COMPLETION_ONSTACK() explicitly, not just to make lockdep happy, but also to make it clear that limited scope had been considered and is intentional." Link: https://lore.kernel.org/r/20210722033439.26550-6-bvanassche@acm.org Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Stanley Chu <stanley.chu@mediatek.com> Cc: Can Guo <cang@codeaurora.org> Cc: Asutosh Das <asutoshd@codeaurora.org> Cc: Avri Altman <avri.altman@wdc.com> Reviewed-by: Avri Altman <avri.altman@wdc.com> Reviewed-by: Bean Huo <beanhuo@micron.com> Reviewed-by: Daejun Park <daejun7.park@samsung.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 8a686f26eaa4b8a5c494b6b69e8a97815e3ffb82) Bug: 204438323 Bug: 218587336 Change-Id: I1e76702adc3df2e75e7a05fd06310f66d198b149 Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:

committed by
Todd Kjos

parent
18d48b7c6d
commit
fb0fa7dc29
@@ -2923,11 +2923,11 @@ static int ufshcd_exec_dev_cmd(struct ufs_hba *hba,
|
|||||||
enum dev_cmd_type cmd_type, int timeout)
|
enum dev_cmd_type cmd_type, int timeout)
|
||||||
{
|
{
|
||||||
struct request_queue *q = hba->cmd_queue;
|
struct request_queue *q = hba->cmd_queue;
|
||||||
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
struct request *req;
|
struct request *req;
|
||||||
struct ufshcd_lrb *lrbp;
|
struct ufshcd_lrb *lrbp;
|
||||||
int err;
|
int err;
|
||||||
int tag;
|
int tag;
|
||||||
struct completion wait;
|
|
||||||
|
|
||||||
down_read(&hba->clk_scaling_lock);
|
down_read(&hba->clk_scaling_lock);
|
||||||
|
|
||||||
@@ -2942,7 +2942,6 @@ static int ufshcd_exec_dev_cmd(struct ufs_hba *hba,
|
|||||||
req->timeout = msecs_to_jiffies(2 * timeout);
|
req->timeout = msecs_to_jiffies(2 * timeout);
|
||||||
blk_mq_start_request(req);
|
blk_mq_start_request(req);
|
||||||
|
|
||||||
init_completion(&wait);
|
|
||||||
lrbp = &hba->lrb[tag];
|
lrbp = &hba->lrb[tag];
|
||||||
WARN_ON(lrbp->cmd);
|
WARN_ON(lrbp->cmd);
|
||||||
err = ufshcd_compose_dev_cmd(hba, lrbp, cmd_type, tag);
|
err = ufshcd_compose_dev_cmd(hba, lrbp, cmd_type, tag);
|
||||||
@@ -3939,14 +3938,13 @@ EXPORT_SYMBOL_GPL(ufshcd_dme_get_attr);
|
|||||||
*/
|
*/
|
||||||
static int ufshcd_uic_pwr_ctrl(struct ufs_hba *hba, struct uic_command *cmd)
|
static int ufshcd_uic_pwr_ctrl(struct ufs_hba *hba, struct uic_command *cmd)
|
||||||
{
|
{
|
||||||
struct completion uic_async_done;
|
DECLARE_COMPLETION_ONSTACK(uic_async_done);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
u8 status;
|
u8 status;
|
||||||
int ret;
|
int ret;
|
||||||
bool reenable_intr = false;
|
bool reenable_intr = false;
|
||||||
|
|
||||||
mutex_lock(&hba->uic_cmd_mutex);
|
mutex_lock(&hba->uic_cmd_mutex);
|
||||||
init_completion(&uic_async_done);
|
|
||||||
ufshcd_add_delay_before_dme_cmd(hba);
|
ufshcd_add_delay_before_dme_cmd(hba);
|
||||||
|
|
||||||
spin_lock_irqsave(hba->host->host_lock, flags);
|
spin_lock_irqsave(hba->host->host_lock, flags);
|
||||||
@@ -6627,11 +6625,11 @@ static int ufshcd_issue_devman_upiu_cmd(struct ufs_hba *hba,
|
|||||||
enum query_opcode desc_op)
|
enum query_opcode desc_op)
|
||||||
{
|
{
|
||||||
struct request_queue *q = hba->cmd_queue;
|
struct request_queue *q = hba->cmd_queue;
|
||||||
|
DECLARE_COMPLETION_ONSTACK(wait);
|
||||||
struct request *req;
|
struct request *req;
|
||||||
struct ufshcd_lrb *lrbp;
|
struct ufshcd_lrb *lrbp;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
int tag;
|
int tag;
|
||||||
struct completion wait;
|
|
||||||
u8 upiu_flags;
|
u8 upiu_flags;
|
||||||
|
|
||||||
down_read(&hba->clk_scaling_lock);
|
down_read(&hba->clk_scaling_lock);
|
||||||
@@ -6644,7 +6642,6 @@ static int ufshcd_issue_devman_upiu_cmd(struct ufs_hba *hba,
|
|||||||
tag = req->tag;
|
tag = req->tag;
|
||||||
WARN_ON_ONCE(!ufshcd_valid_tag(hba, tag));
|
WARN_ON_ONCE(!ufshcd_valid_tag(hba, tag));
|
||||||
|
|
||||||
init_completion(&wait);
|
|
||||||
lrbp = &hba->lrb[tag];
|
lrbp = &hba->lrb[tag];
|
||||||
WARN_ON(lrbp->cmd);
|
WARN_ON(lrbp->cmd);
|
||||||
lrbp->cmd = NULL;
|
lrbp->cmd = NULL;
|
||||||
|
Reference in New Issue
Block a user