2024-06-12 22:54:35

by Pradeep Kumar Chitrapu

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

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 <[email protected]>
Reported-by: Zachary Smith <[email protected]>
Closes: https://lore.kernel.org/all/CAM=znoFPcXrn5GhDmDmo50Syic3-hXpWvD+vkv8KX5o_ZTo8kQ@mail.gmail.com/
Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
---
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
--
2.34.1



2024-06-13 15:49:17

by Jeff Johnson

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

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 <[email protected]>

Per checkpatch:
WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
#17:
Reported-by: Aditya Kumar Singh <[email protected]>

Is there a separate public bug report from Aditya?

> Reported-by: Zachary Smith <[email protected]>
> Closes: https://lore.kernel.org/all/CAM=znoFPcXrn5GhDmDmo50Syic3-hXpWvD+vkv8KX5o_ZTo8kQ@mail.gmail.com/
> Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
> ---
> 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


2024-06-13 19:00:11

by Pradeep Kumar Chitrapu

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



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 <[email protected]>
>
> Per checkpatch:
> WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
> #17:
> Reported-by: Aditya Kumar Singh <[email protected]>
>
> 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 <[email protected]>
>> Closes: https://lore.kernel.org/all/CAM=znoFPcXrn5GhDmDmo50Syic3-hXpWvD+vkv8KX5o_ZTo8kQ@mail.gmail.com/
>> Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
>> ---
>> 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
>

2024-06-13 22:17:37

by Jeff Johnson

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

On 6/13/2024 11:59 AM, Pradeep Kumar Chitrapu wrote:
>
>
> 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 <[email protected]>
>>
>> Per checkpatch:
>> WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
>> #17:
>> Reported-by: Aditya Kumar Singh <[email protected]>
>>
>> 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.

I'm unsure what do do here since there is a requirement that an acknowledged
reporter have a public link to the bug report.

Note that normally internally reported issues are not acknowledged in this manner.