• Daniel Drake's avatar
    mmc: core: add a short delay in mmc_power_off · 041beb1d
    Daniel Drake authored
    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: default avatarDaniel Drake <dsd@laptop.org>
    Signed-off-by: default avatarChris Ball <cjb@laptop.org>
    041beb1d
core.c 51.1 KB