Skip to content

Commit 2d3f59c

Browse files
Kiwoong Kimmartinkpetersen
authored andcommitted
scsi: ufs: core: Move __ufshcd_send_uic_cmd() outside host_lock
__ufshcd_send_uic_cmd() is wrapped by uic_cmd_mutex and its related contexts are accessed within the section wrapped by uic_cmd_mutex. Thus, wrapping with host_lock is redundant. Signed-off-by: Kiwoong Kim <[email protected]> Link: https://lore.kernel.org/r/782ba5f26f0a96e58d85dff50751787d2d2a6b2b.1693790060.git.kwmad.kim@samsung.com Reviewed-by: Bart Van Assche <[email protected]> Reviewed-by: Chanwoo Lee <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 7df0b26 commit 2d3f59c

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

drivers/ufs/core/ufshcd.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2392,7 +2392,6 @@ __ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd,
23922392
bool completion)
23932393
{
23942394
lockdep_assert_held(&hba->uic_cmd_mutex);
2395-
lockdep_assert_held(hba->host->host_lock);
23962395

23972396
if (!ufshcd_ready_for_uic_cmd(hba)) {
23982397
dev_err(hba->dev,
@@ -2419,7 +2418,6 @@ __ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd,
24192418
int ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
24202419
{
24212420
int ret;
2422-
unsigned long flags;
24232421

24242422
if (hba->quirks & UFSHCD_QUIRK_BROKEN_UIC_CMD)
24252423
return 0;
@@ -2428,9 +2426,7 @@ int ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
24282426
mutex_lock(&hba->uic_cmd_mutex);
24292427
ufshcd_add_delay_before_dme_cmd(hba);
24302428

2431-
spin_lock_irqsave(hba->host->host_lock, flags);
24322429
ret = __ufshcd_send_uic_cmd(hba, uic_cmd, true);
2433-
spin_unlock_irqrestore(hba->host->host_lock, flags);
24342430
if (!ret)
24352431
ret = ufshcd_wait_for_uic_cmd(hba, uic_cmd);
24362432

@@ -4133,8 +4129,8 @@ static int ufshcd_uic_pwr_ctrl(struct ufs_hba *hba, struct uic_command *cmd)
41334129
wmb();
41344130
reenable_intr = true;
41354131
}
4136-
ret = __ufshcd_send_uic_cmd(hba, cmd, false);
41374132
spin_unlock_irqrestore(hba->host->host_lock, flags);
4133+
ret = __ufshcd_send_uic_cmd(hba, cmd, false);
41384134
if (ret) {
41394135
dev_err(hba->dev,
41404136
"pwr ctrl cmd 0x%x with mode 0x%x uic error %d\n",

0 commit comments

Comments
 (0)