On 2 February 2015 at 09:16, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: >>> >>> about bus_ops->alive, I think it can't use in tuning state. >>> Because: >>> bus_ops->alive() --> mmc_sd_alive(host) /* sd card */ -->mmc_send_status(host->card, NULL); >>> But host->card == NULL in tuning state(mmc_sd_init_card->mmc_sd_init_uhs_card). >>> >>> Only if sd is initialized successfully, we can get card pointer by host->card. >>> see: mmc_sd_init_card(drivers/mmc/core/sd.c), the end of this function: host->card = card >> And bus_ops->alive only check whether mmc is alive or not, the second parameter(*status) is NULL, >> We can not get the card status. >> But in tuning state, we need wait until card is idle, if the previous tuning is failed. > > You are right that we can't use bus_ops->alive() in its current form. > Changing it to take "card" and "status" as parameter should fix this > for us. My point was more that we can't use mmc_send_status() since > that doesn't work for SDIO. > > Anyway, it seems like we need to put this patchset on hold for a while. > > You I merge the below patch instead so we at least have something /s /You / Should > working for 3.20? > > [PATCH] mmc: dw_mmc: rockchip: Add DW_MCI_QUIRK_RETRY_DELAY > https://lkml.org/lkml/2015/1/13/562 > > 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