On 6/7/2024 8:33 PM, Bart Van Assche wrote:
On 6/7/24 04:06, Ziqi Chen wrote:
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index 21429ee..1afa862 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -1392,7 +1392,7 @@ static int ufshcd_clock_scaling_prepare(struct
ufs_hba *hba, u64 timeout_us)
* make sure that there are no outstanding requests when
* clock scaling is in progress
*/
- ufshcd_scsi_block_requests(hba);
+ blk_mq_quiesce_tagset(&hba->host->tag_set);
mutex_lock(&hba->wb_mutex);
down_write(&hba->clk_scaling_lock);
@@ -1401,7 +1401,7 @@ static int ufshcd_clock_scaling_prepare(struct
ufs_hba *hba, u64 timeout_us)
ret = -EBUSY;
up_write(&hba->clk_scaling_lock);
mutex_unlock(&hba->wb_mutex);
- ufshcd_scsi_unblock_requests(hba);
+ blk_mq_unquiesce_tagset(&hba->host->tag_set);
goto out;
}
@@ -1422,7 +1422,7 @@ static void
ufshcd_clock_scaling_unprepare(struct ufs_hba *hba, int err, bool sc
mutex_unlock(&hba->wb_mutex);
- ufshcd_scsi_unblock_requests(hba);
+ blk_mq_unquiesce_tagset(&hba->host->tag_set);
ufshcd_release(hba);
}
Why to replace only those ufshcd_scsi_block_requests() /
ufshcd_scsi_unblock_requests() calls? I don't think that it is ever safe to
use these functions instead of blk_mq_quiesce_tagset() /
blk_mq_unquiesce_tagset(). Please replace all
ufshcd_scsi_block_requests() /
ufshcd_scsi_unblock_requests() calls and remove the
ufshcd_scsi_*block_requests() functions.
Hi Bart,
Thank you for the review.
This issue was not easy to debug, it took us more than 3 months to
narrow down to the root cause. Our mutual customers and internal test
teams had to pull in quite amount of resources to help narrow down the
issue and test the fix. It is a key change to unblock customers from
commercializing Android15, so we are pushed to upstream this fix ASAP.
As for removing the rest calls to ufshcd_scsi_block_requests() and
ufshcd_scsi_unblock_requests(), I think you are right, but I am not
quite sure because we haven't seen issue reported w.r.t those spots. If
possible, we can co-work on this sometime later.
Hope you can understand.
Thanks,
Ziqi
Thanks,
Bart.