@@ -1351,8 +1351,12 @@ static unsigned int mmc_mmc_erase_timeout(struct mmc_card *card,
erase_timeout = 1;
}
- /* Multiplier for secure operations */
- if (arg & MMC_SECURE_ARGS) {
+ /* Multiplier for secure operations
+ * eMMC 4.5 specification defines these values
+ * sec_erase_mult,sec_trim_mult as obselete(so dont care).
+ * These multipliers are only valid for versions < eMMC 4.5
+ */
+ if ((arg & MMC_SECURE_ARGS) && (card->ext_csd.rev < 6)) {
if (arg == MMC_SECURE_ERASE_ARG)
erase_timeout *= card->ext_csd.sec_erase_mult;
else
In the eMMC 4.5 specification the EC_ERASE_MULT and SEC_TRIM_MULT have become obselete and donot carry any valid information. This patch makes sure that the above mentioned parameters are used only for versions below eMMC 4.5. All the versions above 4.5 will ignore their usage by assuming them as dont cares. Signed-off-by: Girish K S <girish.shivananjappa@linaro.org> --- drivers/mmc/core/core.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)