On 7 August 2017 at 04:07, Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> wrote: > Per the SD physical layer simplified specification V4.10, > section 4.6.2, CSD version 1.0 SD card should use taac, nsac > and r2w_factor for calculating the data access time. But the > taac and nsac for SDHC(CSD version 2.0) are always fixed and > the software should use the recommended value for timeout. When > parsing the CSD, we sanely set them to zero for SDHC(CSD version > 2.0), all the calculation for timeout_ns and timeout_clk is zero > as well. So what we actually want to limit here is either SDHC > case or unreasonable timeout reported by the cards. In principle > we should at least be able to remove the bogus check for the > mmc_card_blockaddr. > > Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Thanks, applied for next! Kind regards Uffe > > --- > > Changes in v3: > - still keep data->timeout_clks = 0 for hosts > > Changes in v2: > - rephrase the changelog and only remove mmc_card_blockaddr. > > drivers/mmc/core/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c > index 6177eb0..5dd1c00 100644 > --- a/drivers/mmc/core/core.c > +++ b/drivers/mmc/core/core.c > @@ -763,7 +763,7 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card) > /* > * SDHC cards always use these fixed values. > */ > - if (timeout_us > limit_us || mmc_card_blockaddr(card)) { > + if (timeout_us > limit_us) { > data->timeout_ns = limit_us * 1000; > data->timeout_clks = 0; > } > -- > 1.9.1 > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html