• Adrian Hunter's avatar
    mmc: mmc: Fix partition switch timeout for some eMMCs · ae96721f
    Adrian Hunter authored
    [ Upstream commit 1c447116 ]
    
    Some eMMCs set the partition switch timeout too low.
    
    Now typically eMMCs are considered a critical component (e.g. because
    they store the root file system) and consequently are expected to be
    reliable.  Thus we can neglect the use case where eMMCs can't switch
    reliably and we might want a lower timeout to facilitate speedy
    recovery.
    
    Although we could employ a quirk for the cards that are affected (if
    we could identify them all), as described above, there is little
    benefit to having a low timeout, so instead simply set a minimum
    timeout.
    
    The minimum is set to 300ms somewhat arbitrarily - the examples that
    have been seen had a timeout of 10ms but were sometimes taking 60-70ms.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
    ae96721f
mmc.c 49.9 KB