• Ido Yariv's avatar
    wl12xx: Don't rely on runtime PM for toggling power · 11251e7e
    Ido Yariv authored
    Runtime PM might not always be enabled. Even if it is enabled in the
    running kernel, it can still be temporarily disabled, for instance
    during suspend. Runtime PM is opportunistic in nature, and should not be
    relied on for toggling power.
    
    In case the interface is removed and re-added while runtime PM is
    disabled, the FW will fail to boot, as it is mandatory to toggle power
    between boots. For instance, this can happen during suspend in case one
    of the devices fails to suspend before the MMC host suspends, but after
    mac80211 was suspended. The interface will be removed and reactivated
    without toggling the power.
    
    Fix this by calling mmc_power_save_host/mmc_power_restore_host in
    wl1271_sdio_power_on/off functions. It will toggle the power to the chip
    even if runtime PM is disabled. The runtime PM functions should still be
    called to make sure runtime PM does not opportunistically power the chip
    off (e.g. after resuming from system suspend).
    Signed-off-by: default avatarIdo Yariv <ido@wizery.com>
    Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
    Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
    11251e7e
sdio.c 7.95 KB