diff options
author | Bart Van Assche <[email protected]> | 2024-07-08 14:16:00 -0700 |
---|---|---|
committer | Martin K. Petersen <[email protected]> | 2024-07-10 22:19:04 -0400 |
commit | f4750af7081d0466c187f5b72272d07148d75e67 (patch) | |
tree | 538c0ef5c8890bc8c9eeb2058366b19525d9d35c | |
parent | b53eb9a050d76fc695258e04384e71b3fbb1e7d5 (diff) |
scsi: ufs: core: Initialize hba->reserved_slot earlier
Move the hba->reserved_slot and the host->can_queue assignments from
ufshcd_config_mcq() into ufshcd_alloc_mcq(). The advantages of this change
are as follows:
- It becomes easier to verify that these two parameters are updated if
hba->nutrs is updated.
- It prevents unnecessary assignments to these two parameters. While
ufshcd_config_mcq() is called during host reset, ufshcd_alloc_mcq() is
not.
Cc: Can Guo <[email protected]>
Reviewed-by: Peter Wang <[email protected]>
Reviewed-by: Manivannan Sadhasivam <[email protected]>
Signed-off-by: Bart Van Assche <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Martin K. Petersen <[email protected]>
-rw-r--r-- | drivers/ufs/core/ufshcd.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index bfcfbfb648d1..aed6b7acfcc9 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -8678,6 +8678,9 @@ static int ufshcd_alloc_mcq(struct ufs_hba *hba) if (ret) goto err; + hba->host->can_queue = hba->nutrs - UFSHCD_NUM_RESERVED; + hba->reserved_slot = hba->nutrs - UFSHCD_NUM_RESERVED; + return 0; err: hba->nutrs = old_nutrs; @@ -8699,9 +8702,6 @@ static void ufshcd_config_mcq(struct ufs_hba *hba) ufshcd_mcq_make_queues_operational(hba); ufshcd_mcq_config_mac(hba, hba->nutrs); - hba->host->can_queue = hba->nutrs - UFSHCD_NUM_RESERVED; - hba->reserved_slot = hba->nutrs - UFSHCD_NUM_RESERVED; - ufshcd_mcq_enable(hba); hba->mcq_enabled = true; |