scsi: ufs: core: Increase the UIC command timeout further
authorBart Van Assche <bvanassche@acm.org>
Thu, 8 May 2025 16:54:03 +0000 (09:54 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 13 May 2025 02:31:56 +0000 (22:31 -0400)
On my development board I observed that it can take a little longer than
two seconds before UIC completions are processed if the UART is enabled.
Hence this patch that increases the UIC command timeout upper limit
further.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20250508165411.3755300-1-bvanassche@acm.org
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c

index de30346083c88848e816bcc70c9aacabffe97ea8..a41556b5a328bad929e55d6b2d3df50156d94f23 100644 (file)
@@ -53,7 +53,7 @@
 /* UIC command timeout, unit: ms */
 enum {
        UIC_CMD_TIMEOUT_DEFAULT = 500,
-       UIC_CMD_TIMEOUT_MAX     = 2000,
+       UIC_CMD_TIMEOUT_MAX     = 5000,
 };
 /* NOP OUT retries waiting for NOP IN response */
 #define NOP_OUT_RETRIES    10
@@ -133,7 +133,7 @@ static const struct kernel_param_ops uic_cmd_timeout_ops = {
 
 module_param_cb(uic_cmd_timeout, &uic_cmd_timeout_ops, &uic_cmd_timeout, 0644);
 MODULE_PARM_DESC(uic_cmd_timeout,
-                "UFS UIC command timeout in milliseconds. Defaults to 500ms. Supported values range from 500ms to 2 seconds inclusively");
+                "UFS UIC command timeout in milliseconds. Defaults to 500ms. Supported values range from 500ms to 5 seconds inclusively");
 
 #define ufshcd_toggle_vreg(_dev, _vreg, _on)                           \
        ({                                                              \