* [PATCH ath-next v3] wifi: ath12k: Fix incorrect rates sent to firmware
@ 2025-03-20 11:24 Roopni Devanathan
2025-03-21 0:28 ` Ping-Ke Shih
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Roopni Devanathan @ 2025-03-20 11:24 UTC (permalink / raw)
To: ath12k; +Cc: linux-wireless, Pradeep Kumar Chitrapu, Roopni Devanathan
From: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
Before firmware assert, if there is a station interface in the device
which is not associated with an AP, the basic rates are set to zero.
Following this, during firmware recovery, when basic rates are zero,
ath12k driver is sending invalid rate codes, which are negative values,
to firmware. This results in firmware assert.
Fix this by checking if rate codes are valid, before sending them
to the firmware.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
Signed-off-by: Roopni Devanathan <quic_rdevanat@quicinc.com>
---
v3:
- Modified the use of API ffs().
v2:
- Replaced API ffs() to API __ffs().
---
drivers/net/wireless/ath/ath12k/mac.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 9fda97667d4e..b7e4bb00e87c 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -3450,7 +3450,10 @@ static void ath12k_recalculate_mgmt_rate(struct ath12k *ar,
}
sband = hw->wiphy->bands[def->chan->band];
- basic_rate_idx = ffs(bss_conf->basic_rates) - 1;
+ if (bss_conf->basic_rates)
+ basic_rate_idx = __ffs(bss_conf->basic_rates);
+ else
+ basic_rate_idx = 0;
bitrate = sband->bitrates[basic_rate_idx].bitrate;
hw_rate_code = ath12k_mac_get_rate_hw_value(bitrate);
@@ -3983,10 +3986,14 @@ static void ath12k_mac_bss_info_changed(struct ath12k *ar,
band = def.chan->band;
mcast_rate = info->mcast_rate[band];
- if (mcast_rate > 0)
+ if (mcast_rate > 0) {
rateidx = mcast_rate - 1;
- else
- rateidx = ffs(info->basic_rates) - 1;
+ } else {
+ if (info->basic_rates)
+ rateidx = __ffs(info->basic_rates);
+ else
+ rateidx = 0;
+ }
if (ar->pdev->cap.supported_bands & WMI_HOST_WLAN_5G_CAP)
rateidx += ATH12K_MAC_FIRST_OFDM_RATE_IDX;
base-commit: b6f473c96421b8b451a8df8ccb620bcd71d4b3f4
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH ath-next v3] wifi: ath12k: Fix incorrect rates sent to firmware
2025-03-20 11:24 [PATCH ath-next v3] wifi: ath12k: Fix incorrect rates sent to firmware Roopni Devanathan
@ 2025-03-21 0:28 ` Ping-Ke Shih
2025-03-21 4:02 ` Vasanthakumar Thiagarajan
2025-04-07 15:23 ` Jeff Johnson
2 siblings, 0 replies; 4+ messages in thread
From: Ping-Ke Shih @ 2025-03-21 0:28 UTC (permalink / raw)
To: Roopni Devanathan, ath12k@lists.infradead.org
Cc: linux-wireless@vger.kernel.org, Pradeep Kumar Chitrapu
Roopni Devanathan <quic_rdevanat@quicinc.com> wrote:
> From: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
>
> Before firmware assert, if there is a station interface in the device
> which is not associated with an AP, the basic rates are set to zero.
> Following this, during firmware recovery, when basic rates are zero,
> ath12k driver is sending invalid rate codes, which are negative values,
> to firmware. This results in firmware assert.
>
> Fix this by checking if rate codes are valid, before sending them
> to the firmware.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
> Signed-off-by: Roopni Devanathan <quic_rdevanat@quicinc.com>
For the __ffs() part,
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH ath-next v3] wifi: ath12k: Fix incorrect rates sent to firmware
2025-03-20 11:24 [PATCH ath-next v3] wifi: ath12k: Fix incorrect rates sent to firmware Roopni Devanathan
2025-03-21 0:28 ` Ping-Ke Shih
@ 2025-03-21 4:02 ` Vasanthakumar Thiagarajan
2025-04-07 15:23 ` Jeff Johnson
2 siblings, 0 replies; 4+ messages in thread
From: Vasanthakumar Thiagarajan @ 2025-03-21 4:02 UTC (permalink / raw)
To: Roopni Devanathan, ath12k; +Cc: linux-wireless, Pradeep Kumar Chitrapu
On 3/20/2025 4:54 PM, Roopni Devanathan wrote:
> From: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
>
> Before firmware assert, if there is a station interface in the device
> which is not associated with an AP, the basic rates are set to zero.
> Following this, during firmware recovery, when basic rates are zero,
> ath12k driver is sending invalid rate codes, which are negative values,
> to firmware. This results in firmware assert.
>
> Fix this by checking if rate codes are valid, before sending them
> to the firmware.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
> Signed-off-by: Roopni Devanathan <quic_rdevanat@quicinc.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH ath-next v3] wifi: ath12k: Fix incorrect rates sent to firmware
2025-03-20 11:24 [PATCH ath-next v3] wifi: ath12k: Fix incorrect rates sent to firmware Roopni Devanathan
2025-03-21 0:28 ` Ping-Ke Shih
2025-03-21 4:02 ` Vasanthakumar Thiagarajan
@ 2025-04-07 15:23 ` Jeff Johnson
2 siblings, 0 replies; 4+ messages in thread
From: Jeff Johnson @ 2025-04-07 15:23 UTC (permalink / raw)
To: ath12k, Roopni Devanathan; +Cc: linux-wireless, Pradeep Kumar Chitrapu
On Thu, 20 Mar 2025 16:54:26 +0530, Roopni Devanathan wrote:
> Before firmware assert, if there is a station interface in the device
> which is not associated with an AP, the basic rates are set to zero.
> Following this, during firmware recovery, when basic rates are zero,
> ath12k driver is sending invalid rate codes, which are negative values,
> to firmware. This results in firmware assert.
>
> Fix this by checking if rate codes are valid, before sending them
> to the firmware.
>
> [...]
Applied, thanks!
[1/1] wifi: ath12k: Fix incorrect rates sent to firmware
commit: cb1790249361ba9396b06b1af2500147e6e42e5e
Best regards,
--
Jeff Johnson <jeff.johnson@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-04-07 15:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-20 11:24 [PATCH ath-next v3] wifi: ath12k: Fix incorrect rates sent to firmware Roopni Devanathan
2025-03-21 0:28 ` Ping-Ke Shih
2025-03-21 4:02 ` Vasanthakumar Thiagarajan
2025-04-07 15:23 ` Jeff Johnson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox