Search Linux Wireless

Re: [PATCH] wifi: ath12k: fix legacy peer association due to missing HT or 6 GHz capabilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/12/2024 3:53 PM, Pradeep Kumar Chitrapu wrote:
> Currently SMPS configuration failed when the Information
> Elements (IEs) did not contain HT or 6 GHz capabilities. This
> caused legacy peer association to fail as legacy peers do not
> have HT or 6 GHz capabilities. Fix this by not returning an
> error when SMPS configuration fails due to the absence of HT
> or 6 GHz capabilities.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> 
> Fixes: f0e61dc7ecf9 ("wifi: ath12k: refactor SMPS configuration")
> Reported-by: Aditya Kumar Singh <quic_adisi@xxxxxxxxxxx>

Per checkpatch:
WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
#17: 
Reported-by: Aditya Kumar Singh <quic_adisi@xxxxxxxxxxx>

Is there a separate public bug report from Aditya?

> Reported-by: Zachary Smith <dr.z.smith@xxxxxxxxx>
> Closes: https://lore.kernel.org/all/CAM=znoFPcXrn5GhDmDmo50Syic3-hXpWvD+vkv8KX5o_ZTo8kQ@xxxxxxxxxxxxxx/
> Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@xxxxxxxxxxx>
> ---
>  drivers/net/wireless/ath/ath12k/mac.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
> index 2259ce22cc8b..fa9f6656a06f 100644
> --- a/drivers/net/wireless/ath/ath12k/mac.c
> +++ b/drivers/net/wireless/ath/ath12k/mac.c
> @@ -2255,9 +2255,6 @@ static int ath12k_get_smps_from_capa(const struct ieee80211_sta_ht_cap *ht_cap,
>  				     const struct ieee80211_he_6ghz_capa *he_6ghz_capa,
>  				     int *smps)
>  {
> -	if (!ht_cap->ht_supported && !he_6ghz_capa->capa)
> -		return -EOPNOTSUPP;
> -
>  	if (ht_cap->ht_supported)
>  		*smps = u16_get_bits(ht_cap->cap, IEEE80211_HT_CAP_SM_PS);
>  	else
> @@ -2277,6 +2274,9 @@ static void ath12k_peer_assoc_h_smps(struct ieee80211_sta *sta,
>  	const struct ieee80211_sta_ht_cap *ht_cap = &sta->deflink.ht_cap;
>  	int smps;
>  
> +	if (!ht_cap->ht_supported && !he_6ghz_capa->capa)
> +		return;
> +
>  	if (ath12k_get_smps_from_capa(ht_cap, he_6ghz_capa, &smps))
>  		return;
>  
> @@ -2756,6 +2756,9 @@ static int ath12k_setup_peer_smps(struct ath12k *ar, struct ath12k_vif *arvif,
>  {
>  	int smps, ret = 0;
>  
> +	if (!ht_cap->ht_supported && !he_6ghz_capa)
> +		return 0;
> +
>  	ret = ath12k_get_smps_from_capa(ht_cap, he_6ghz_capa, &smps);
>  	if (ret < 0)
>  		return ret;
> 
> base-commit: e72048809ec7355a947415ae6836d2eb7fdcda39





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux