mmc: core: add a short delay in mmc_power_off
authorDaniel Drake <dsd@laptop.org>
Wed, 7 Sep 2011 09:22:09 +0000 (10:22 +0100)
committerChris Ball <cjb@laptop.org>
Wed, 26 Oct 2011 19:43:42 +0000 (15:43 -0400)
commit041beb1d531f538bf62377e2ca2b4ecbaa479d75
tree40d7f71f8e78f2bed9ccf0db79ea25d4fc17170d
parent55cd65e48b62c6f08edbb93d5cadf96e876ebcc2
mmc: core: add a short delay in mmc_power_off

Stress-testing the runtime power management of libertas_sdio
through a rmmod/insmod loop revealed that it is quite easy to
cause an ETIMEDOUT failure in mmc_sdio_power_restore() leading to:
   libertas_sdio: probe of mmc1:0001:1 failed with error -16

Experimentation shows that a very short delay (100us) is needed in
the power down path before the card can be successfully booted again.
We know that this setup is lacking poweroff clamps on the card's power
lines, but as only a short delay is needed, apply this unconditionally.
Also bump up to 1ms sleep for extra legroom.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/core.c