Re: [PATCH 1/6] wifi: wilc1000: disable power sequencer
From: Kalle Valo
Date: Tue Jun 18 2024 - 07:45:54 EST
Alexis Lothoré <alexis.lothore@xxxxxxxxxxx> wrote:
> From: Ajay Singh <ajay.kathat@xxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxx>
> Signed-off-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx>
6 patches applied to wireless-next.git, thanks.
70ed0bdab1ca wifi: wilc1000: disable power sequencer
301e44e973eb wifi: wilc1000: let host->chip suspend/resume notifications manage chip wake/sleep
25d086ba1964 wifi: wilc1000: do not keep sdio bus claimed during suspend/resume
a814112e9545 wifi: wilc1000: move sdio suspend method next to resume and pm ops definition
1e9e258d9fb5 wifi: wilc1000: remove suspend/resume from cfg80211 part
5ad8897fd15a wifi: wilc1000: disable SDIO func IRQ before suspend
--
https://patchwork.kernel.org/project/linux-wireless/patch/20240613-wilc_suspend-v1-1-c2f766d0988c@xxxxxxxxxxx/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches