Skip to content

Commit 32ecd32

Browse files
intelmattstorulf
authored andcommitted
mmc: longer timeout for long read time quirk
008GE0 Toshiba mmc in some Intel Baytrail tablets responds to MMC_SEND_EXT_CSD in 450-600ms. This patch will... () Increase the long read time quirk timeout from 300ms to 600ms. Original author of that quirk says 300ms was only a guess and that the number may need to be raised in the future. () Add this specific MMC to the quirk Signed-off-by: Matt Gumbel <matthew.k.gumbel@intel.com> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent d4aa908 commit 32ecd32

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

drivers/mmc/card/block.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2536,11 +2536,12 @@ static const struct mmc_fixup blk_fixups[] =
25362536
MMC_QUIRK_BLK_NO_CMD23),
25372537

25382538
/*
2539-
* Some Micron MMC cards needs longer data read timeout than
2540-
* indicated in CSD.
2539+
* Some MMC cards need longer data read timeout than indicated in CSD.
25412540
*/
25422541
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_MICRON, 0x200, add_quirk_mmc,
25432542
MMC_QUIRK_LONG_READ_TIME),
2543+
MMC_FIXUP("008GE0", CID_MANFID_TOSHIBA, CID_OEMID_ANY, add_quirk_mmc,
2544+
MMC_QUIRK_LONG_READ_TIME),
25442545

25452546
/*
25462547
* On these Samsung MoviNAND parts, performing secure erase or

drivers/mmc/core/core.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -875,11 +875,11 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card)
875875
/*
876876
* Some cards require longer data read timeout than indicated in CSD.
877877
* Address this by setting the read timeout to a "reasonably high"
878-
* value. For the cards tested, 300ms has proven enough. If necessary,
878+
* value. For the cards tested, 600ms has proven enough. If necessary,
879879
* this value can be increased if other problematic cards require this.
880880
*/
881881
if (mmc_card_long_read_time(card) && data->flags & MMC_DATA_READ) {
882-
data->timeout_ns = 300000000;
882+
data->timeout_ns = 600000000;
883883
data->timeout_clks = 0;
884884
}
885885

0 commit comments

Comments
 (0)