This is a note to let you know that I've just added the patch titled mmc: cqhci: Increase recovery halt timeout 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: mmc-cqhci-increase-recovery-halt-timeout.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. >From b578d5d18e929aa7c007a98cce32657145dde219 Mon Sep 17 00:00:00 2001 From: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri, 3 Nov 2023 10:47:16 +0200 Subject: mmc: cqhci: Increase recovery halt timeout From: Adrian Hunter <adrian.hunter@xxxxxxxxx> commit b578d5d18e929aa7c007a98cce32657145dde219 upstream. 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. 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> Link: https://lore.kernel.org/r/20231103084720.6886-3-adrian.hunter@xxxxxxxxx Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/mmc/host/cqhci-core.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- 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 * /* * 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) { Patches currently in stable-queue which might be from adrian.hunter@xxxxxxxxx are queue-6.6/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch queue-6.6/mmc-block-do-not-lose-cache-flush-during-cqe-error-recovery.patch queue-6.6/mmc-sdhci-pci-gli-disable-lpm-during-initialization.patch queue-6.6/mmc-block-retry-commands-in-cqe-error-recovery.patch queue-6.6/mmc-cqhci-warn-of-halt-or-task-clear-failure.patch queue-6.6/mmc-cqhci-fix-task-clearing-in-cqe-error-recovery.patch queue-6.6/mmc-cqhci-increase-recovery-halt-timeout.patch