• Ajay Singh's avatar
    wifi: wilc1000: disable power sequencer · 70ed0bda
    Ajay Singh authored
    Driver systematically disables some power mechanism each time it starts the
    chip firmware (so mostly when interface is brought up). This has a negative
    impact on some specific scenarios when the chip is exposed as a
    hotpluggable SDIO card (eg: WILC1000 SD):
    - when executing suspend/resume sequence while interface has been brought
      up
    - rebooting the platform while module is plugged and interface has been
      brought up
    Those scenarios lead to mmc core trying to initialize again the chip which
    is now unresponsive (because of the power sequencer setting), so it fails
    in mmc_rescan->mmc_attach_sdio and enter a failure loop while trying to
    send CMD5:
    mmc0: error -110 whilst initialising SDIO card
    mmc0: error -110 whilst initialising SDIO card
    mmc0: error -110 whilst initialising SDIO card
    [...]
    
    Preventing the driver from disabling this "power sequencer" fixes those
    enumeration issues without affecting nominal operations.
    Signed-off-by: default avatarAjay Singh <ajay.kathat@microchip.com>
    Signed-off-by: default avatarAlexis Lothoré <alexis.lothore@bootlin.com>
    Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
    Link: https://msgid.link/20240613-wilc_suspend-v1-1-c2f766d0988c@bootlin.com
    70ed0bda
wlan.h 13.9 KB