Patch "scsi: ufs: core: Expand MCQ queue slot to DeviceQueueDepth + 1" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    scsi: ufs: core: Expand MCQ queue slot to DeviceQueueDepth + 1

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     scsi-ufs-core-expand-mcq-queue-slot-to-devicequeuede.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit a0444fe9d24ea4f5587edd49557f7499790f3f9d
Author: Naomi Chu <naomi.chu@xxxxxxxxxxxx>
Date:   Thu Nov 2 13:24:24 2023 +0800

    scsi: ufs: core: Expand MCQ queue slot to DeviceQueueDepth + 1
    
    [ Upstream commit defde5a50d91c74e1ce71a7f0bce7fb1ae311d84 ]
    
    The UFSHCI 4.0 specification mandates that there should always be at least
    one empty slot in each queue for distinguishing between full and empty
    states. Enlarge 'hwq->max_entries' to 'DeviceQueueDepth + 1' to allow
    UFSHCI 4.0 controllers to fully utilize MCQ queue slots.
    
    Fixes: 4682abfae2eb ("scsi: ufs: core: mcq: Allocate memory for MCQ mode")
    Signed-off-by: Naomi Chu <naomi.chu@xxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20231102052426.12006-2-naomi.chu@xxxxxxxxxxxx
    Reviewed-by: Stanley Chu <stanley.chu@xxxxxxxxxxxx>
    Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>
    Reviewed-by: Peter Wang <peter.wang@xxxxxxxxxxxx>
    Reviewed-by: Chun-Hung <chun-hung.wu@xxxxxxxxxxxx>
    Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c
index 2ba8ec254dcee..5c75ab9d6bb50 100644
--- a/drivers/ufs/core/ufs-mcq.c
+++ b/drivers/ufs/core/ufs-mcq.c
@@ -436,7 +436,7 @@ int ufshcd_mcq_init(struct ufs_hba *hba)
 
 	for (i = 0; i < hba->nr_hw_queues; i++) {
 		hwq = &hba->uhq[i];
-		hwq->max_entries = hba->nutrs;
+		hwq->max_entries = hba->nutrs + 1;
 		spin_lock_init(&hwq->sq_lock);
 		spin_lock_init(&hwq->cq_lock);
 		mutex_init(&hwq->sq_mutex);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux