* [PATCH v2 0/4] wifi: ath12k: add MLO CSA support
@ 2025-01-24 6:16 Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 1/4] wifi: ath12k: update beacon template function to use arvif structure Aditya Kumar Singh
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Aditya Kumar Singh @ 2025-01-24 6:16 UTC (permalink / raw)
To: Kalle Valo, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh
Patch 1 and 2 are pre-req fixes (applies to non-MLO as well)
Patch 3 basically uses arvif->link_id to enable MLO for CSA while adding
support to update counters throughout the CSA time.
Patch 4 fixes a potential problem seen when medium is busy. Again this
applies to both MLO and non-MLO. But this is exposed only when Patch 3 is
there.
---
Changes in v2:
- Rebased on ToT.
- Link to v1: https://lore.kernel.org/r/20241223-ath12k_mlo_csa-v1-0-78b6d7515568@quicinc.com
---
Aditya Kumar Singh (4):
wifi: ath12k: update beacon template function to use arvif structure
wifi: ath12k: fix handling of CSA offsets in beacon template command
wifi: ath12k: update the latest CSA counter
wifi: ath12k: prevent CSA counter to reach 0 and hit WARN_ON_ONCE
drivers/net/wireless/ath/ath12k/core.h | 2 ++
drivers/net/wireless/ath/ath12k/mac.c | 7 ++--
drivers/net/wireless/ath/ath12k/mac.h | 3 +-
drivers/net/wireless/ath/ath12k/wmi.c | 61 +++++++++++++++++++++++++++-------
drivers/net/wireless/ath/ath12k/wmi.h | 2 +-
5 files changed, 57 insertions(+), 18 deletions(-)
---
base-commit: 376673aa393c1c232299be3e910d7f2e6d974b2f
change-id: 20241217-ath12k_mlo_csa-35bd512a05ae
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/4] wifi: ath12k: update beacon template function to use arvif structure
2025-01-24 6:16 [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Aditya Kumar Singh
@ 2025-01-24 6:16 ` Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command Aditya Kumar Singh
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Aditya Kumar Singh @ 2025-01-24 6:16 UTC (permalink / raw)
To: Kalle Valo, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh
The current code has ath12k_wmi_bcn_tmpl() accepting separate ar and
vdev_id parameters. However, ath12k_link_vif structure can be used to
derive both of these.
Hence, simplify the function signature.
Later change needs arvif pointer access within the function hence it is
better if arvif is directly passed now.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 5 ++---
drivers/net/wireless/ath/ath12k/wmi.c | 4 +++-
drivers/net/wireless/ath/ath12k/wmi.h | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 329c050037219567239610d94fd60358be959b2c..417d53dd9c79d15b69642793c6846005a9da4cf3 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -1595,8 +1595,7 @@ static int ath12k_mac_setup_bcn_tmpl_ema(struct ath12k_link_vif *arvif)
ema_args.bcn_cnt = beacons->cnt;
ema_args.bcn_index = i;
- ret = ath12k_wmi_bcn_tmpl(tx_arvif->ar, tx_arvif->vdev_id,
- &beacons->bcn[i].offs,
+ ret = ath12k_wmi_bcn_tmpl(tx_arvif, &beacons->bcn[i].offs,
beacons->bcn[i].skb, &ema_args);
if (ret) {
ath12k_warn(tx_arvif->ar->ab,
@@ -1690,7 +1689,7 @@ static int ath12k_mac_setup_bcn_tmpl(struct ath12k_link_vif *arvif)
}
}
- ret = ath12k_wmi_bcn_tmpl(ar, arvif->vdev_id, &offs, bcn, NULL);
+ ret = ath12k_wmi_bcn_tmpl(arvif, &offs, bcn, NULL);
if (ret)
ath12k_warn(ab, "failed to submit beacon template command: %d\n",
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index a7625a3d1a3a9b1bbcf90cee30d3c707de03c439..c129dce5832aa76e0c084548c5019dfd63386186 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -1889,14 +1889,16 @@ int ath12k_wmi_p2p_go_bcn_ie(struct ath12k *ar, u32 vdev_id,
return ret;
}
-int ath12k_wmi_bcn_tmpl(struct ath12k *ar, u32 vdev_id,
+int ath12k_wmi_bcn_tmpl(struct ath12k_link_vif *arvif,
struct ieee80211_mutable_offsets *offs,
struct sk_buff *bcn,
struct ath12k_wmi_bcn_tmpl_ema_arg *ema_args)
{
+ struct ath12k *ar = arvif->ar;
struct ath12k_wmi_pdev *wmi = ar->wmi;
struct wmi_bcn_tmpl_cmd *cmd;
struct ath12k_wmi_bcn_prb_info_params *bcn_prb_info;
+ u32 vdev_id = arvif->vdev_id;
struct wmi_tlv *tlv;
struct sk_buff *skb;
u32 ema_params = 0;
diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h
index 38aed18b99f4239e40d369181549b4bc78faa862..64c8357740167f44f13585eb87b938ecedbf4546 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.h
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
@@ -5660,7 +5660,7 @@ int ath12k_wmi_mgmt_send(struct ath12k *ar, u32 vdev_id, u32 buf_id,
struct sk_buff *frame);
int ath12k_wmi_p2p_go_bcn_ie(struct ath12k *ar, u32 vdev_id,
const u8 *p2p_ie);
-int ath12k_wmi_bcn_tmpl(struct ath12k *ar, u32 vdev_id,
+int ath12k_wmi_bcn_tmpl(struct ath12k_link_vif *arvif,
struct ieee80211_mutable_offsets *offs,
struct sk_buff *bcn,
struct ath12k_wmi_bcn_tmpl_ema_arg *ema_args);
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command
2025-01-24 6:16 [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 1/4] wifi: ath12k: update beacon template function to use arvif structure Aditya Kumar Singh
@ 2025-01-24 6:16 ` Aditya Kumar Singh
2025-01-30 0:40 ` Jeff Johnson
2025-01-24 6:16 ` [PATCH v2 3/4] wifi: ath12k: update the latest CSA counter Aditya Kumar Singh
` (2 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Aditya Kumar Singh @ 2025-01-24 6:16 UTC (permalink / raw)
To: Kalle Valo, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh
The driver is informed of the counter offsets in the beacon during CSA
through the ieee80211_mutable_offsets structure. According to the
documentation for the cntdwn_counter_offs member, "This array can contain
zero values which should be ignored." However, the current implementation
uses these values unconditionally, without checking for zeros.
Whenever CSA is active, these offsets are guaranteed to be set. Therefore,
add a check for CSA active status before setting the CSA switch count
offsets. This ensures that the offsets are only set when CSA is active,
preventing incorrect configurations.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 2 +-
drivers/net/wireless/ath/ath12k/mac.h | 3 ++-
drivers/net/wireless/ath/ath12k/wmi.c | 23 ++++++++++++++++++++---
3 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 417d53dd9c79d15b69642793c6846005a9da4cf3..53c01debf8f8fd6eae675f189e4dfd00717555db 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -503,7 +503,7 @@ static int ath12k_mac_vif_link_chan(struct ieee80211_vif *vif, u8 link_id,
return 0;
}
-static struct ieee80211_bss_conf *
+struct ieee80211_bss_conf *
ath12k_mac_get_link_bss_conf(struct ath12k_link_vif *arvif)
{
struct ieee80211_vif *vif = arvif->ahvif->vif;
diff --git a/drivers/net/wireless/ath/ath12k/mac.h b/drivers/net/wireless/ath/ath12k/mac.h
index 3594729b63974e942b91eed0ebdfcabcb6a3c3a1..58897217d63b3644a78a49bb580cf4235d2f9985 100644
--- a/drivers/net/wireless/ath/ath12k/mac.h
+++ b/drivers/net/wireless/ath/ath12k/mac.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
/*
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#ifndef ATH12K_MAC_H
@@ -108,5 +108,6 @@ int ath12k_mac_vdev_stop(struct ath12k_link_vif *arvif);
void ath12k_mac_get_any_chanctx_conf_iter(struct ieee80211_hw *hw,
struct ieee80211_chanctx_conf *conf,
void *data);
+struct ieee80211_bss_conf *ath12k_mac_get_link_bss_conf(struct ath12k_link_vif *arvif);
#endif
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index c129dce5832aa76e0c084548c5019dfd63386186..6ed3d2e8e86e362bb2fafa6bd267c45e2b2e314f 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -1896,8 +1896,11 @@ int ath12k_wmi_bcn_tmpl(struct ath12k_link_vif *arvif,
{
struct ath12k *ar = arvif->ar;
struct ath12k_wmi_pdev *wmi = ar->wmi;
+ struct ath12k_base *ab = ar->ab;
struct wmi_bcn_tmpl_cmd *cmd;
struct ath12k_wmi_bcn_prb_info_params *bcn_prb_info;
+ struct ath12k_vif *ahvif = arvif->ahvif;
+ struct ieee80211_bss_conf *conf;
u32 vdev_id = arvif->vdev_id;
struct wmi_tlv *tlv;
struct sk_buff *skb;
@@ -1906,6 +1909,14 @@ int ath12k_wmi_bcn_tmpl(struct ath12k_link_vif *arvif,
int ret, len;
size_t aligned_len = roundup(bcn->len, 4);
+ conf = ath12k_mac_get_link_bss_conf(arvif);
+ if (!conf) {
+ ath12k_warn(ab,
+ "unable to access bss link conf in beacon template command for vif %pM link %u\n",
+ ahvif->vif->addr, arvif->link_id);
+ return -EINVAL;
+ }
+
len = sizeof(*cmd) + sizeof(*bcn_prb_info) + TLV_HDR_SIZE + aligned_len;
skb = ath12k_wmi_alloc_skb(wmi->wmi_ab, len);
@@ -1917,8 +1928,14 @@ int ath12k_wmi_bcn_tmpl(struct ath12k_link_vif *arvif,
sizeof(*cmd));
cmd->vdev_id = cpu_to_le32(vdev_id);
cmd->tim_ie_offset = cpu_to_le32(offs->tim_offset);
- cmd->csa_switch_count_offset = cpu_to_le32(offs->cntdwn_counter_offs[0]);
- cmd->ext_csa_switch_count_offset = cpu_to_le32(offs->cntdwn_counter_offs[1]);
+
+ if (conf->csa_active) {
+ cmd->csa_switch_count_offset =
+ cpu_to_le32(offs->cntdwn_counter_offs[0]);
+ cmd->ext_csa_switch_count_offset =
+ cpu_to_le32(offs->cntdwn_counter_offs[1]);
+ }
+
cmd->buf_len = cpu_to_le32(bcn->len);
cmd->mbssid_ie_offset = cpu_to_le32(offs->mbssid_off);
if (ema_args) {
@@ -1948,7 +1965,7 @@ int ath12k_wmi_bcn_tmpl(struct ath12k_link_vif *arvif,
ret = ath12k_wmi_cmd_send(wmi, skb, WMI_BCN_TMPL_CMDID);
if (ret) {
- ath12k_warn(ar->ab, "failed to send WMI_BCN_TMPL_CMDID\n");
+ ath12k_warn(ab, "failed to send WMI_BCN_TMPL_CMDID\n");
dev_kfree_skb(skb);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/4] wifi: ath12k: update the latest CSA counter
2025-01-24 6:16 [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 1/4] wifi: ath12k: update beacon template function to use arvif structure Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command Aditya Kumar Singh
@ 2025-01-24 6:16 ` Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 4/4] wifi: ath12k: prevent CSA counter to reach 0 and hit WARN_ON_ONCE Aditya Kumar Singh
2025-02-03 22:49 ` [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Jeff Johnson
4 siblings, 0 replies; 9+ messages in thread
From: Aditya Kumar Singh @ 2025-01-24 6:16 UTC (permalink / raw)
To: Kalle Valo, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh
At present, the driver configures the firmware to send the Channel Switch
(CS) count event only when the count reaches zero during a Channel Switch
Announcement (CSA). For frames managed by the upper layer, where the driver
does not update the counter, the CS count in these frames remains unchanged
throughout the entire CSA period. This is because the upper layer is not
aware of the latest ongoing count. Indicating same count value throughout
the CSA time is wrong and could lead to connection instabilities.
Fix this by configuring firmware to send CS count event for every count and
then accordingly decrementing the count in mac80211.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
---
drivers/net/wireless/ath/ath12k/wmi.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 6ed3d2e8e86e362bb2fafa6bd267c45e2b2e314f..35ebd54971a595ad5a07df09581f0ae9af38f27a 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -1934,6 +1934,7 @@ int ath12k_wmi_bcn_tmpl(struct ath12k_link_vif *arvif,
cpu_to_le32(offs->cntdwn_counter_offs[0]);
cmd->ext_csa_switch_count_offset =
cpu_to_le32(offs->cntdwn_counter_offs[1]);
+ cmd->csa_event_bitmap = cpu_to_le32(0xFFFFFFFF);
}
cmd->buf_len = cpu_to_le32(bcn->len);
@@ -6880,17 +6881,15 @@ ath12k_wmi_process_csa_switch_count_event(struct ath12k_base *ab,
const struct ath12k_wmi_pdev_csa_event *ev,
const u32 *vdev_ids)
{
- int i;
+ u32 current_switch_count = le32_to_cpu(ev->current_switch_count);
+ u32 num_vdevs = le32_to_cpu(ev->num_vdevs);
struct ieee80211_bss_conf *conf;
struct ath12k_link_vif *arvif;
struct ath12k_vif *ahvif;
-
- /* Finish CSA once the switch count becomes NULL */
- if (ev->current_switch_count)
- return;
+ int i;
rcu_read_lock();
- for (i = 0; i < le32_to_cpu(ev->num_vdevs); i++) {
+ for (i = 0; i < num_vdevs; i++) {
arvif = ath12k_mac_get_arvif_by_vdev_id(ab, vdev_ids[i]);
if (!arvif) {
@@ -6913,8 +6912,14 @@ ath12k_wmi_process_csa_switch_count_event(struct ath12k_base *ab,
continue;
}
- if (arvif->is_up && conf->csa_active)
- ieee80211_csa_finish(ahvif->vif, 0);
+ if (!arvif->is_up || !conf->csa_active)
+ continue;
+
+ /* Finish CSA when counter reaches zero */
+ if (!current_switch_count)
+ ieee80211_csa_finish(ahvif->vif, arvif->link_id);
+ else if (current_switch_count > 1)
+ ieee80211_beacon_update_cntdwn(ahvif->vif, arvif->link_id);
}
rcu_read_unlock();
}
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/4] wifi: ath12k: prevent CSA counter to reach 0 and hit WARN_ON_ONCE
2025-01-24 6:16 [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Aditya Kumar Singh
` (2 preceding siblings ...)
2025-01-24 6:16 ` [PATCH v2 3/4] wifi: ath12k: update the latest CSA counter Aditya Kumar Singh
@ 2025-01-24 6:16 ` Aditya Kumar Singh
2025-02-03 22:49 ` [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Jeff Johnson
4 siblings, 0 replies; 9+ messages in thread
From: Aditya Kumar Singh @ 2025-01-24 6:16 UTC (permalink / raw)
To: Kalle Valo, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel, Aditya Kumar Singh
Currently, when the driver receives a channel switch count WMI event from
the firmware with a count greater than 1, it calls
ieee80211_beacon_update_cntdwn(). If the beacon transmission fails, the
event will be received again with the previous count value. In this
scenario, the host decrements the mac80211 counter again, causing it to
move ahead of the firmware counter. Ultimately, when the firmware count
reaches 1, the mac80211 counter will reach zero, triggering a
WARN_ON_ONCE(). Therefore, there is a need to check the count value in the
event.
Hence to fix this, maintain the current ongoing counter in arvif. If the
count in the event does not match the expected value, silently discard the
event.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
---
drivers/net/wireless/ath/ath12k/core.h | 2 ++
drivers/net/wireless/ath/ath12k/wmi.c | 19 ++++++++++++++++---
2 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h
index 86a1eeec64a6e173048fd92a53df6b1d2df153f2..50acdb3fc8cba95542a1220486799cfc207b496b 100644
--- a/drivers/net/wireless/ath/ath12k/core.h
+++ b/drivers/net/wireless/ath/ath12k/core.h
@@ -299,6 +299,8 @@ struct ath12k_link_vif {
u8 link_id;
struct ath12k_vif *ahvif;
struct ath12k_rekey_data rekey_data;
+
+ u8 current_cntdown_counter;
};
struct ath12k_vif {
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 35ebd54971a595ad5a07df09581f0ae9af38f27a..6406e6a19cb5bbb56f57fa4e87aa18e9c5f31732 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -1935,6 +1935,7 @@ int ath12k_wmi_bcn_tmpl(struct ath12k_link_vif *arvif,
cmd->ext_csa_switch_count_offset =
cpu_to_le32(offs->cntdwn_counter_offs[1]);
cmd->csa_event_bitmap = cpu_to_le32(0xFFFFFFFF);
+ arvif->current_cntdown_counter = bcn->data[offs->cntdwn_counter_offs[0]];
}
cmd->buf_len = cpu_to_le32(bcn->len);
@@ -6916,10 +6917,22 @@ ath12k_wmi_process_csa_switch_count_event(struct ath12k_base *ab,
continue;
/* Finish CSA when counter reaches zero */
- if (!current_switch_count)
+ if (!current_switch_count) {
ieee80211_csa_finish(ahvif->vif, arvif->link_id);
- else if (current_switch_count > 1)
- ieee80211_beacon_update_cntdwn(ahvif->vif, arvif->link_id);
+ arvif->current_cntdown_counter = 0;
+ } else if (current_switch_count > 1) {
+ /* If the count in event is not what we expect, don't update the
+ * mac80211 count. Since during beacon Tx failure, count in the
+ * firmware will not decrement and this event will come with the
+ * previous count value again
+ */
+ if (current_switch_count != arvif->current_cntdown_counter)
+ continue;
+
+ arvif->current_cntdown_counter =
+ ieee80211_beacon_update_cntdwn(ahvif->vif,
+ arvif->link_id);
+ }
}
rcu_read_unlock();
}
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command
2025-01-24 6:16 ` [PATCH v2 2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command Aditya Kumar Singh
@ 2025-01-30 0:40 ` Jeff Johnson
2025-01-30 1:18 ` Jeff Johnson
0 siblings, 1 reply; 9+ messages in thread
From: Jeff Johnson @ 2025-01-30 0:40 UTC (permalink / raw)
To: Aditya Kumar Singh, Kalle Valo, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel
On 1/23/2025 10:16 PM, Aditya Kumar Singh wrote:
> @@ -108,5 +108,6 @@ int ath12k_mac_vdev_stop(struct ath12k_link_vif *arvif);
> void ath12k_mac_get_any_chanctx_conf_iter(struct ieee80211_hw *hw,
> struct ieee80211_chanctx_conf *conf,
> void *data);
> +struct ieee80211_bss_conf *ath12k_mac_get_link_bss_conf(struct ath12k_link_vif *arvif);
This patch now conflicts with:
wifi: ath12k: report station mode transmit rate
but i'll clean that up in 'pending'
>
> #endif
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command
2025-01-30 0:40 ` Jeff Johnson
@ 2025-01-30 1:18 ` Jeff Johnson
2025-01-30 3:36 ` Aditya Kumar Singh
0 siblings, 1 reply; 9+ messages in thread
From: Jeff Johnson @ 2025-01-30 1:18 UTC (permalink / raw)
To: Aditya Kumar Singh, Kalle Valo, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel
On 1/29/2025 4:40 PM, Jeff Johnson wrote:
> On 1/23/2025 10:16 PM, Aditya Kumar Singh wrote:
>> @@ -108,5 +108,6 @@ int ath12k_mac_vdev_stop(struct ath12k_link_vif *arvif);
>> void ath12k_mac_get_any_chanctx_conf_iter(struct ieee80211_hw *hw,
>> struct ieee80211_chanctx_conf *conf,
>> void *data);
>> +struct ieee80211_bss_conf *ath12k_mac_get_link_bss_conf(struct ath12k_link_vif *arvif);
>
> This patch now conflicts with:
> wifi: ath12k: report station mode transmit rate
>
> but i'll clean that up in 'pending'
please check
https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git/commit/?h=pending&id=47bc4c5c6598ef2ff3a362eb13dfe4573ab5d910
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command
2025-01-30 1:18 ` Jeff Johnson
@ 2025-01-30 3:36 ` Aditya Kumar Singh
0 siblings, 0 replies; 9+ messages in thread
From: Aditya Kumar Singh @ 2025-01-30 3:36 UTC (permalink / raw)
To: Jeff Johnson, Aditya Kumar Singh, Kalle Valo, Jeff Johnson
Cc: linux-wireless, ath12k, linux-kernel
On 1/30/25 06:48, Jeff Johnson wrote:
> On 1/29/2025 4:40 PM, Jeff Johnson wrote:
>> On 1/23/2025 10:16 PM, Aditya Kumar Singh wrote:
>>> @@ -108,5 +108,6 @@ int ath12k_mac_vdev_stop(struct ath12k_link_vif *arvif);
>>> void ath12k_mac_get_any_chanctx_conf_iter(struct ieee80211_hw *hw,
>>> struct ieee80211_chanctx_conf *conf,
>>> void *data);
>>> +struct ieee80211_bss_conf *ath12k_mac_get_link_bss_conf(struct ath12k_link_vif *arvif);
>>
>> This patch now conflicts with:
>> wifi: ath12k: report station mode transmit rate
>>
>> but i'll clean that up in 'pending'
>
>
> please check
> https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git/commit/?h=pending&id=47bc4c5c6598ef2ff3a362eb13dfe4573ab5d910
Looks fine, thanks.
--
Aditya
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/4] wifi: ath12k: add MLO CSA support
2025-01-24 6:16 [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Aditya Kumar Singh
` (3 preceding siblings ...)
2025-01-24 6:16 ` [PATCH v2 4/4] wifi: ath12k: prevent CSA counter to reach 0 and hit WARN_ON_ONCE Aditya Kumar Singh
@ 2025-02-03 22:49 ` Jeff Johnson
4 siblings, 0 replies; 9+ messages in thread
From: Jeff Johnson @ 2025-02-03 22:49 UTC (permalink / raw)
To: Kalle Valo, Jeff Johnson, Aditya Kumar Singh
Cc: linux-wireless, ath12k, linux-kernel
On Fri, 24 Jan 2025 11:46:34 +0530, Aditya Kumar Singh wrote:
> Patch 1 and 2 are pre-req fixes (applies to non-MLO as well)
>
> Patch 3 basically uses arvif->link_id to enable MLO for CSA while adding
> support to update counters throughout the CSA time.
>
> Patch 4 fixes a potential problem seen when medium is busy. Again this
> applies to both MLO and non-MLO. But this is exposed only when Patch 3 is
> there.
>
> [...]
Applied, thanks!
[1/4] wifi: ath12k: update beacon template function to use arvif structure
commit: 4094445969740028f9b637977781b73b64c5bc7c
[2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command
commit: f9c88d65e805ca06f26806ac99f569a3dfac2229
[3/4] wifi: ath12k: update the latest CSA counter
commit: e26a6989b10a3dfc97b8c206023a6bf3a3ccb94e
[4/4] wifi: ath12k: prevent CSA counter to reach 0 and hit WARN_ON_ONCE
commit: 36f002a3e36efd3370f5b6abfc157e7481ecb1e0
Best regards,
--
Jeff Johnson <jeff.johnson@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-02-03 22:49 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-24 6:16 [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 1/4] wifi: ath12k: update beacon template function to use arvif structure Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 2/4] wifi: ath12k: fix handling of CSA offsets in beacon template command Aditya Kumar Singh
2025-01-30 0:40 ` Jeff Johnson
2025-01-30 1:18 ` Jeff Johnson
2025-01-30 3:36 ` Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 3/4] wifi: ath12k: update the latest CSA counter Aditya Kumar Singh
2025-01-24 6:16 ` [PATCH v2 4/4] wifi: ath12k: prevent CSA counter to reach 0 and hit WARN_ON_ONCE Aditya Kumar Singh
2025-02-03 22:49 ` [PATCH v2 0/4] wifi: ath12k: add MLO CSA support Jeff Johnson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.