[PATCH v2] wifi: ath11k: clean-up during wrong ath11k_crypto_mode

Baochen Qiang quic_bqiang at quicinc.com
Thu May 15 18:51:26 PDT 2025



On 5/16/2025 6:22 AM, Rodrigo Gobbi wrote:
> if ath11k_crypto_mode is invalid (not ATH11K_CRYPT_MODE_SW/ATH11K_CRYPT_MODE_HW),
> ath11k_core_qmi_firmware_ready() will not undo some actions that was previously
> started/configured. It's reasonable to undo things during this condition, fixing
> the following smatch warning:
> 
> drivers/net/wireless/ath/ath11k/core.c:2166 ath11k_core_qmi_firmware_ready()
> warn: missing unwind goto?
> 
> Signed-off-by: Rodrigo Gobbi <rodrigo.gobbi.7 at gmail.com>
> ---
> Changelog:
> v2: add smatch warn at commit msg
> v1: https://lore.kernel.org/linux-wireless/20250515004258.87234-1-rodrigo.gobbi.7@gmail.com/
> ---
>  drivers/net/wireless/ath/ath11k/core.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c
> index 2e9f8a5e61e4..fd3017c444a4 100644
> --- a/drivers/net/wireless/ath/ath11k/core.c
> +++ b/drivers/net/wireless/ath/ath11k/core.c
> @@ -2163,7 +2163,9 @@ int ath11k_core_qmi_firmware_ready(struct ath11k_base *ab)
>  		break;
>  	default:
>  		ath11k_info(ab, "invalid crypto_mode: %d\n", ath11k_crypto_mode);
> -		return -EINVAL;
> +		ret = -EINVAL;
> +		ath11k_dp_free(ab);
> +		goto err_firmware_stop;
>  	}

Instead, how about moving the ath11k_crypto_mode validating to the top of
ath11k_core_qmi_firmware_ready()?

>  
>  	if (ath11k_frame_mode == ATH11K_HW_TXRX_RAW)




More information about the ath11k mailing list