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/13/2024 8:42 AM, Jeff Johnson wrote:
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?
Hi Jeff,
No, this was internal report and does not have weblink associated with it. Also, do not want to ignore reportee.

Thanks
Pradeep

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