[...] >>> + /* >>> + * Set an arbitrary 100ms data timeout for >>> commands with >>> + * busy signal and no indication of busy_timeout. >>> + */ >>> + if (!timeout) >> >> This is a bug in the mmc core if this ever happen. >> >> Therefore I am particularly interested to find out if this is really >> needed or it's just playing safe? > > You could call it playing safe. > We haven't hit any case where it was set to zero but per mmc_switch() > description you are allowed to set it to zero to let the host decide what it > wants to use. I check the code in the core. Apparently there are some cases when INAND_CMD38_ARG* is used, but also some cases where I think the timeout value becomes picked from the EXT_CSD without validating its value. Let's keep $subject patch as is, then allow me to submit a few changes for core to deal with this properly. > >>> + timeout = 100000000U; >>> + >>> + set_data_timeout(host, timeout, 0); >>> + } >>> return 0; >>> } Kind regards Uffe -- 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