Patch "mmc: cqhci: Increase recovery halt timeout" has been added to the 5.4-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    mmc: cqhci: Increase recovery halt timeout

to the 5.4-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-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 98c77b28375507792a3b03da8304469923b140c7
Author: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Date:   Fri Nov 3 10:47:16 2023 +0200

    mmc: cqhci: Increase recovery halt timeout
    
    [ Upstream commit b578d5d18e929aa7c007a98cce32657145dde219 ]
    
    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: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/mmc/host/cqhci.c b/drivers/mmc/host/cqhci.c
index ec56464eaf23e..42b8038f76300 100644
--- a/drivers/mmc/host/cqhci.c
+++ b/drivers/mmc/host/cqhci.c
@@ -920,10 +920,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)
 {



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux