On 19 November 2015 at 22:57, Renju Liu <i.am.renju.liu@xxxxxxxxx> wrote: > Hi All, > > I'm currently studying the suspension behavior of MMC. However, I > don't quite understand the rationale why the kernel needs to wait > until timeout in the following code: That's because the eMMC spec states that it's required. > > /* > * If the host does not wait while the card signals busy, then we will > * will have to wait the sleep/awake timeout. Note, we cannot use the > * SEND_STATUS command to poll the status because that command (and most > * others) is invalid while the card sleeps. > */ > > if (!(host->caps & MMC_CAP_WAIT_WHILE_BUSY)){ > mmc_delay(DIV_ROUND_UP(card->ext_csd.sa_timeout, 10000)); > } > If the host controller HW supports busy detection, we allow that to be used instead of waiting a pre-defined timeout time. 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