Message ID | 20250508165411.3755300-1-bvanassche@acm.org |
---|---|
State | New |
Headers | show |
Series | scsi: ufs: core: Increase the UIC command timeout further | expand |
On Thu, 2025-05-08 at 09:54 -0700, Bart Van Assche wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > > > 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> > --- > drivers/ufs/core/ufshcd.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c > index 2d39924a32b0..b18ba17c22ff 100644 > --- a/drivers/ufs/core/ufshcd.c > +++ b/drivers/ufs/core/ufshcd.c > @@ -54,7 +54,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 > @@ -134,7 +134,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) \ > > ({ \ Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Bart, > 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. Applied to 6.16/scsi-staging, thanks!
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 2d39924a32b0..b18ba17c22ff 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -54,7 +54,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 @@ -134,7 +134,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) \ ({ \
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> --- drivers/ufs/core/ufshcd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)