On Mon, Apr 23, 2012 at 02:45:10PM +0200, Ulf Hansson wrote: > A typical mmc host driver is when finished it's probe routine, > trigger of a so called mmc_rescan work which is taking care of > detecting and initializing the eMMC card. It is a quite complicated > procedure which preferably not to be handled from the host driver's > probe function. > If the platform already have booted from the eMMC card, the card is > already powered an initialized from a bootloader. Cutting the power > without first notifying the card by sending commands to it, must be > prevented and also violates the eMMC specification. In the end, it > will mean that the detect and initialization procedure fails. Can the driver use is_enabled() in the probe routine to check the current status during probe and hand off appropriately? The issue here seems like it's the fact that the driver isn't managing to bootstrapping of its state well. Worst case seems to be that the card will be briefly powered during boot then turned off again after enumeration which doesn't seem like the end of the world to me.