Re: [PATCH 1/2] mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure

From: Kalle Valo
Date: Sun Nov 08 2020 - 06:32:13 EST


Tsuchiya Yuto <kitakar@xxxxxxxxx> writes:

> When FLR is performed but without fw reset for some reasons (e.g. on
> Surface devices, fw reset requires another quirk), it fails to reset
> properly. You can trigger the issue on such devices via debugfs entry
> for reset:
>
> $ echo 1 | sudo tee /sys/kernel/debug/mwifiex/mlan0/reset
>
> and the resulting dmesg log:
>
> [ 45.740508] mwifiex_pcie 0000:03:00.0: Resetting per request
> [ 45.742937] mwifiex_pcie 0000:03:00.0: info: successfully disconnected from [BSSID]: reason code 3
> [ 45.744666] mwifiex_pcie 0000:03:00.0: info: shutdown mwifiex...
> [ 45.751530] mwifiex_pcie 0000:03:00.0: PREP_CMD: card is removed
> [ 45.751539] mwifiex_pcie 0000:03:00.0: PREP_CMD: card is removed
> [ 45.771691] mwifiex_pcie 0000:03:00.0: PREP_CMD: card is removed
> [ 45.771695] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [ 45.771697] mwifiex_pcie 0000:03:00.0: PREP_CMD: card is removed
> [ 45.771698] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [ 45.771699] mwifiex_pcie 0000:03:00.0: PREP_CMD: card is removed
> [ 45.771701] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [ 45.771702] mwifiex_pcie 0000:03:00.0: PREP_CMD: card is removed
> [ 45.771703] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [ 45.771704] mwifiex_pcie 0000:03:00.0: PREP_CMD: card is removed
> [ 45.771705] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [ 45.771707] mwifiex_pcie 0000:03:00.0: PREP_CMD: card is removed
> [ 45.771708] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [ 53.099343] mwifiex_pcie 0000:03:00.0: info: trying to associate to '[SSID]' bssid [BSSID]
> [ 53.241870] mwifiex_pcie 0000:03:00.0: info: associated to bssid [BSSID] successfully
> [ 75.377942] mwifiex_pcie 0000:03:00.0: cmd_wait_q terminated: -110
> [ 85.385491] mwifiex_pcie 0000:03:00.0: info: successfully disconnected from [BSSID]: reason code 15
> [ 87.539408] mwifiex_pcie 0000:03:00.0: cmd_wait_q terminated: -110
> [ 87.539412] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [ 99.699917] mwifiex_pcie 0000:03:00.0: cmd_wait_q terminated: -110
> [ 99.699925] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [ 111.859802] mwifiex_pcie 0000:03:00.0: cmd_wait_q terminated: -110
> [ 111.859808] mwifiex_pcie 0000:03:00.0: deleting the crypto keys
> [...]
>
> When comparing mwifiex_shutdown_sw() with mwifiex_pcie_remove(), it
> lacks mwifiex_init_shutdown_fw().
>
> This commit fixes mwifiex_shutdown_sw() by adding the missing
> mwifiex_init_shutdown_fw().
>
> Fixes: 4c5dae59d2e9 ("mwifiex: add PCIe function level reset support")
> Signed-off-by: Tsuchiya Yuto <kitakar@xxxxxxxxx>

Otherwise looks good to me, but what is FLR? I can add the description
to the commit log if you tell me what it is.

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches