]> www.infradead.org Git - users/willy/xarray.git/commit
wifi: wilc1000: disable power sequencer
authorAjay Singh <ajay.kathat@microchip.com>
Thu, 13 Jun 2024 14:06:40 +0000 (16:06 +0200)
committerKalle Valo <kvalo@kernel.org>
Tue, 18 Jun 2024 10:23:15 +0000 (13:23 +0300)
commit70ed0bdab1ca17aef6731e2c146b69050ff447f6
tree1a5b56b3bec623e40cbd58538af0d10e086f317a
parent8c58f972219e132d1277caf9a76119b444a50505
wifi: wilc1000: disable power sequencer

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: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240613-wilc_suspend-v1-1-c2f766d0988c@bootlin.com
drivers/net/wireless/microchip/wilc1000/sdio.c
drivers/net/wireless/microchip/wilc1000/wlan.h