RE: [PATCH V2 2/6] mmc: cqhci: Increase recovery halt timeout

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

 



> Failing to halt complicates the recovery. Additionally, unless the card or
> controller are stuck, which is expected to be very rare, then the halt should
> succeed, so it is better to wait. Set a large timeout.
Maybe also explain that If task queuing is in progress, CQE needs to complete the operation, sending both commands and processing the responses.

> 
> Fixes: a4080225f51d ("mmc: cqhci: support for command queue enabled
> host")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Reviewed-by: Avri Altman <avri.altman@xxxxxxx>

> ---
>  drivers/mmc/host/cqhci-core.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/mmc/host/cqhci-core.c b/drivers/mmc/host/cqhci-core.c
> index b3d7d6d8d654..15f5a069af1f 100644
> --- a/drivers/mmc/host/cqhci-core.c
> +++ b/drivers/mmc/host/cqhci-core.c
> @@ -984,10 +984,10 @@ static bool cqhci_halt(struct mmc_host *mmc,
> unsigned int timeout)
>  /*
>   * After halting we expect to be able to use the command line. We interpret
> the
>   * failure to halt to mean the data lines might still be in use (and the upper
> - * layers will need to send a STOP command), so we set the timeout based
> on a
> - * generous command timeout.
> + * layers will need to send a STOP command), however failing to halt
> + complicates
> + * the recovery, so set a timeout that would reasonably allow I/O to
> complete.
>   */
> -#define CQHCI_START_HALT_TIMEOUT       5
> +#define CQHCI_START_HALT_TIMEOUT       500
> 
>  static void cqhci_recovery_start(struct mmc_host *mmc)  {
> --
> 2.34.1





[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux