* [PATCH 0/4] wifi: ath12k: few fixes for clang warnings
@ 2024-12-17 20:26 Kalle Valo
2024-12-17 20:26 ` [PATCH 1/4] wifi: ath12k: Decrease ath12k_mac_op_remain_on_channel() stack usage Kalle Valo
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Kalle Valo @ 2024-12-17 20:26 UTC (permalink / raw)
To: ath12k; +Cc: linux-wireless
From: Kalle Valo <quic_kvalo@quicinc.com>
While build testing Jeff found some clang warnings, here are his fixes. Please
review.
Jeff Johnson (4):
wifi: ath12k: Decrease ath12k_mac_op_remain_on_channel() stack usage
wifi: ath12k: Decrease ath12k_bss_assoc() stack usage
wifi: ath12k: Decrease ath12k_sta_rc_update_wk() stack usage
wifi: ath12k: Decrease ath12k_mac_station_assoc() stack usage
drivers/net/wireless/ath/ath12k/mac.c | 114 +++++++++++++-------------
1 file changed, 58 insertions(+), 56 deletions(-)
base-commit: 9a448415ed0c46edeb9170091a03b620986ca0b2
--
2.39.5
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/4] wifi: ath12k: Decrease ath12k_mac_op_remain_on_channel() stack usage
2024-12-17 20:26 [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Kalle Valo
@ 2024-12-17 20:26 ` Kalle Valo
2024-12-17 20:26 ` [PATCH 2/4] wifi: ath12k: Decrease ath12k_bss_assoc() " Kalle Valo
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2024-12-17 20:26 UTC (permalink / raw)
To: ath12k; +Cc: linux-wireless
From: Jeff Johnson <quic_jjohnson@quicinc.com>
Building the ath12k driver with llvm-18.1.7-x86_64 produces the warning:
drivers/net/wireless/ath/ath12k/mac.c:10028:12: warning: stack frame size (1080) exceeds limit (1024) in 'ath12k_mac_op_remain_on_channel' [-Wframe-larger-than]
A major contributor to the stack usage in this function is:
struct ath12k_wmi_scan_req_arg arg;
Avoid the excess stack usage by dynamically allocating arg instead of
declaring it on the stack. As part of the effort use __free() for both
this new allocation as well as the existing chan_list allocation, and
since then no central cleanup is required, replace all cleanup gotos
with returns.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 76 ++++++++++++---------------
1 file changed, 33 insertions(+), 43 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 186765fa95f5..05d2c75e5df2 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -10054,7 +10054,6 @@ static int ath12k_mac_op_remain_on_channel(struct ieee80211_hw *hw,
{
struct ath12k_vif *ahvif = ath12k_vif_to_ahvif(vif);
struct ath12k_hw *ah = ath12k_hw_to_ah(hw);
- struct ath12k_wmi_scan_req_arg arg;
struct ath12k_link_vif *arvif;
struct ath12k *ar;
u32 scan_time_msec;
@@ -10065,10 +10064,8 @@ static int ath12k_mac_op_remain_on_channel(struct ieee80211_hw *hw,
lockdep_assert_wiphy(hw->wiphy);
ar = ath12k_mac_select_scan_device(hw, vif, chan->center_freq);
- if (!ar) {
- ret = -EINVAL;
- goto exit;
- }
+ if (!ar)
+ return -EINVAL;
/* check if any of the links of ML VIF is already started on
* radio(ar) correpsondig to given scan frequency and use it,
@@ -10087,15 +10084,11 @@ static int ath12k_mac_op_remain_on_channel(struct ieee80211_hw *hw,
* always on the same band for the vif
*/
if (arvif->is_created) {
- if (WARN_ON(!arvif->ar)) {
- ret = -EINVAL;
- goto exit;
- }
+ if (WARN_ON(!arvif->ar))
+ return -EINVAL;
- if (ar != arvif->ar && arvif->is_started) {
- ret = -EBUSY;
- goto exit;
- }
+ if (ar != arvif->ar && arvif->is_started)
+ return -EBUSY;
if (ar != arvif->ar) {
ath12k_mac_remove_link_interface(hw, arvif);
@@ -10112,7 +10105,7 @@ static int ath12k_mac_op_remain_on_channel(struct ieee80211_hw *hw,
if (ret) {
ath12k_warn(ar->ab, "unable to create scan vdev for roc: %d\n",
ret);
- goto exit;
+ return ret;
}
}
@@ -10140,37 +10133,41 @@ static int ath12k_mac_op_remain_on_channel(struct ieee80211_hw *hw,
spin_unlock_bh(&ar->data_lock);
if (ret)
- goto exit;
+ return ret;
scan_time_msec = hw->wiphy->max_remain_on_channel_duration * 2;
- memset(&arg, 0, sizeof(arg));
- ath12k_wmi_start_scan_init(ar, &arg);
- arg.num_chan = 1;
- arg.chan_list = kcalloc(arg.num_chan, sizeof(*arg.chan_list),
- GFP_KERNEL);
- if (!arg.chan_list) {
- ret = -ENOMEM;
- goto exit;
- }
+ struct ath12k_wmi_scan_req_arg *arg __free(kfree) =
+ kzalloc(sizeof(*arg), GFP_KERNEL);
+ if (!arg)
+ return -ENOMEM;
- arg.vdev_id = arvif->vdev_id;
- arg.scan_id = ATH12K_SCAN_ID;
- arg.chan_list[0] = chan->center_freq;
- arg.dwell_time_active = scan_time_msec;
- arg.dwell_time_passive = scan_time_msec;
- arg.max_scan_time = scan_time_msec;
- arg.scan_f_passive = 1;
- arg.burst_duration = duration;
+ ath12k_wmi_start_scan_init(ar, arg);
+ arg->num_chan = 1;
- ret = ath12k_start_scan(ar, &arg);
+ u32 *chan_list __free(kfree) = kcalloc(arg->num_chan, sizeof(*chan_list),
+ GFP_KERNEL);
+ if (!chan_list)
+ return -ENOMEM;
+
+ arg->chan_list = chan_list;
+ arg->vdev_id = arvif->vdev_id;
+ arg->scan_id = ATH12K_SCAN_ID;
+ arg->chan_list[0] = chan->center_freq;
+ arg->dwell_time_active = scan_time_msec;
+ arg->dwell_time_passive = scan_time_msec;
+ arg->max_scan_time = scan_time_msec;
+ arg->scan_f_passive = 1;
+ arg->burst_duration = duration;
+
+ ret = ath12k_start_scan(ar, arg);
if (ret) {
ath12k_warn(ar->ab, "failed to start roc scan: %d\n", ret);
spin_lock_bh(&ar->data_lock);
ar->scan.state = ATH12K_SCAN_IDLE;
spin_unlock_bh(&ar->data_lock);
- goto free_chan_list;
+ return ret;
}
ret = wait_for_completion_timeout(&ar->scan.on_channel, 3 * HZ);
@@ -10179,20 +10176,13 @@ static int ath12k_mac_op_remain_on_channel(struct ieee80211_hw *hw,
ret = ath12k_scan_stop(ar);
if (ret)
ath12k_warn(ar->ab, "failed to stop scan: %d\n", ret);
- ret = -ETIMEDOUT;
- goto free_chan_list;
+ return -ETIMEDOUT;
}
ieee80211_queue_delayed_work(hw, &ar->scan.timeout,
msecs_to_jiffies(duration));
- ret = 0;
-
-free_chan_list:
- kfree(arg.chan_list);
-
-exit:
- return ret;
+ return 0;
}
static void ath12k_mac_op_set_rekey_data(struct ieee80211_hw *hw,
--
2.39.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] wifi: ath12k: Decrease ath12k_bss_assoc() stack usage
2024-12-17 20:26 [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Kalle Valo
2024-12-17 20:26 ` [PATCH 1/4] wifi: ath12k: Decrease ath12k_mac_op_remain_on_channel() stack usage Kalle Valo
@ 2024-12-17 20:26 ` Kalle Valo
2024-12-17 20:26 ` [PATCH 3/4] wifi: ath12k: Decrease ath12k_sta_rc_update_wk() " Kalle Valo
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2024-12-17 20:26 UTC (permalink / raw)
To: ath12k; +Cc: linux-wireless
From: Jeff Johnson <quic_jjohnson@quicinc.com>
Currently when building ath12k with gcc-14.2.0 the following warning
is observed:
drivers/net/wireless/ath/ath12k/mac.c: In function 'ath12k_bss_assoc':
drivers/net/wireless/ath/ath12k/mac.c:3080:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
A major contributor to the stack usage in this function is:
struct ath12k_wmi_peer_assoc_arg peer_arg;
Avoid the excess stack usage by dynamically allocating peer_arg
instead of declaring it on the stack.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 05d2c75e5df2..2a30a11903c5 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -3133,7 +3133,6 @@ static void ath12k_bss_assoc(struct ath12k *ar,
struct ath12k_vif *ahvif = arvif->ahvif;
struct ieee80211_vif *vif = ath12k_ahvif_to_vif(ahvif);
struct ath12k_wmi_vdev_up_params params = {};
- struct ath12k_wmi_peer_assoc_arg peer_arg = {};
struct ieee80211_link_sta *link_sta;
u8 link_id = bss_conf->link_id;
struct ath12k_link_sta *arsta;
@@ -3145,6 +3144,11 @@ static void ath12k_bss_assoc(struct ath12k *ar,
lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy);
+ struct ath12k_wmi_peer_assoc_arg *peer_arg __free(kfree) =
+ kzalloc(sizeof(*peer_arg), GFP_KERNEL);
+ if (!peer_arg)
+ return;
+
ath12k_dbg(ar->ab, ATH12K_DBG_MAC,
"mac vdev %i link id %u assoc bssid %pM aid %d\n",
arvif->vdev_id, link_id, arvif->bssid, ahvif->aid);
@@ -3177,11 +3181,11 @@ static void ath12k_bss_assoc(struct ath12k *ar,
return;
}
- ath12k_peer_assoc_prepare(ar, arvif, arsta, &peer_arg, false);
+ ath12k_peer_assoc_prepare(ar, arvif, arsta, peer_arg, false);
rcu_read_unlock();
- ret = ath12k_wmi_send_peer_assoc_cmd(ar, &peer_arg);
+ ret = ath12k_wmi_send_peer_assoc_cmd(ar, peer_arg);
if (ret) {
ath12k_warn(ar->ab, "failed to run peer assoc for %pM vdev %i: %d\n",
bss_conf->bssid, arvif->vdev_id, ret);
--
2.39.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] wifi: ath12k: Decrease ath12k_sta_rc_update_wk() stack usage
2024-12-17 20:26 [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Kalle Valo
2024-12-17 20:26 ` [PATCH 1/4] wifi: ath12k: Decrease ath12k_mac_op_remain_on_channel() stack usage Kalle Valo
2024-12-17 20:26 ` [PATCH 2/4] wifi: ath12k: Decrease ath12k_bss_assoc() " Kalle Valo
@ 2024-12-17 20:26 ` Kalle Valo
2024-12-17 20:26 ` [PATCH 4/4] wifi: ath12k: Decrease ath12k_mac_station_assoc() " Kalle Valo
2024-12-19 17:54 ` [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Jeff Johnson
4 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2024-12-17 20:26 UTC (permalink / raw)
To: ath12k; +Cc: linux-wireless
From: Jeff Johnson <quic_jjohnson@quicinc.com>
Currently when building ath12k with llvm-18.1.7-x86_64 the following warning is
observed:
drivers/net/wireless/ath/ath12k/mac.c:4946:13: warning: stack frame size (1112) exceeds limit (1024) in 'ath12k_sta_rc_update_wk' [-Wframe-larger-than]
A major contributor to the stack usage in this function is:
struct ath12k_wmi_peer_assoc_arg peer_arg;
Avoid the excess stack usage by dynamically allocating peer_arg
instead of declaring it on the stack.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 2a30a11903c5..10293e9c1d49 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -4956,7 +4956,6 @@ static void ath12k_sta_rc_update_wk(struct wiphy *wiphy, struct wiphy_work *wk)
u32 changed, bw, nss, smps, bw_prev;
int err, num_vht_rates;
const struct cfg80211_bitrate_mask *mask;
- struct ath12k_wmi_peer_assoc_arg peer_arg;
enum wmi_phy_mode peer_phymode;
struct ath12k_link_sta *arsta;
struct ieee80211_vif *vif;
@@ -4992,9 +4991,14 @@ static void ath12k_sta_rc_update_wk(struct wiphy *wiphy, struct wiphy_work *wk)
nss = min(nss, max(ath12k_mac_max_ht_nss(ht_mcs_mask),
ath12k_mac_max_vht_nss(vht_mcs_mask)));
+ struct ath12k_wmi_peer_assoc_arg *peer_arg __free(kfree) =
+ kzalloc(sizeof(*peer_arg), GFP_KERNEL);
+ if (!peer_arg)
+ return;
+
if (changed & IEEE80211_RC_BW_CHANGED) {
- ath12k_peer_assoc_h_phymode(ar, arvif, arsta, &peer_arg);
- peer_phymode = peer_arg.peer_phymode;
+ ath12k_peer_assoc_h_phymode(ar, arvif, arsta, peer_arg);
+ peer_phymode = peer_arg->peer_phymode;
if (bw > bw_prev) {
/* Phymode shows maximum supported channel width, if we
@@ -5096,9 +5100,9 @@ static void ath12k_sta_rc_update_wk(struct wiphy *wiphy, struct wiphy_work *wk)
* other rates using peer_assoc command.
*/
ath12k_peer_assoc_prepare(ar, arvif, arsta,
- &peer_arg, true);
+ peer_arg, true);
- err = ath12k_wmi_send_peer_assoc_cmd(ar, &peer_arg);
+ err = ath12k_wmi_send_peer_assoc_cmd(ar, peer_arg);
if (err)
ath12k_warn(ar->ab, "failed to run peer assoc for STA %pM vdev %i: %d\n",
arsta->addr, arvif->vdev_id, err);
--
2.39.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] wifi: ath12k: Decrease ath12k_mac_station_assoc() stack usage
2024-12-17 20:26 [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Kalle Valo
` (2 preceding siblings ...)
2024-12-17 20:26 ` [PATCH 3/4] wifi: ath12k: Decrease ath12k_sta_rc_update_wk() " Kalle Valo
@ 2024-12-17 20:26 ` Kalle Valo
2024-12-19 17:54 ` [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Jeff Johnson
4 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2024-12-17 20:26 UTC (permalink / raw)
To: ath12k; +Cc: linux-wireless
From: Jeff Johnson <quic_jjohnson@quicinc.com>
Building the ath12k driver with llvm-18.1.7-x86_64 produces the warning:
drivers/net/wireless/ath/ath12k/mac.c:5606:12: warning: stack frame size (1176) exceeds limit (1024) in 'ath12k_mac_op_sta_state' [-Wframe-larger-than]
ath12k_mac_op_sta_state() itself does not consume much stack, but it
calls ath12k_mac_handle_link_sta_state() which in turn calls
ath12k_mac_station_add(). Since those are both static functions with
only one caller, it is suspected that these both get inlined, and
their stack usage is reported for ath12k_mac_op_sta_state().
A major contributor to the ath12k_mac_station_assoc() stack usage is:
struct ath12k_wmi_peer_assoc_arg peer_arg;
Avoid the excess stack usage by dynamically allocating peer_arg
instead of declaring it on the stack.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
---
drivers/net/wireless/ath/ath12k/mac.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 10293e9c1d49..6f10813d9378 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -4834,7 +4834,6 @@ static int ath12k_mac_station_assoc(struct ath12k *ar,
{
struct ieee80211_vif *vif = ath12k_ahvif_to_vif(arvif->ahvif);
struct ieee80211_sta *sta = ath12k_ahsta_to_sta(arsta->ahsta);
- struct ath12k_wmi_peer_assoc_arg peer_arg;
struct ieee80211_link_sta *link_sta;
int ret;
struct cfg80211_chan_def def;
@@ -4854,14 +4853,19 @@ static int ath12k_mac_station_assoc(struct ath12k *ar,
band = def.chan->band;
mask = &arvif->bitrate_mask;
- ath12k_peer_assoc_prepare(ar, arvif, arsta, &peer_arg, reassoc);
+ struct ath12k_wmi_peer_assoc_arg *peer_arg __free(kfree) =
+ kzalloc(sizeof(*peer_arg), GFP_KERNEL);
+ if (!peer_arg)
+ return -ENOMEM;
- if (peer_arg.peer_nss < 1) {
+ ath12k_peer_assoc_prepare(ar, arvif, arsta, peer_arg, reassoc);
+
+ if (peer_arg->peer_nss < 1) {
ath12k_warn(ar->ab,
- "invalid peer NSS %d\n", peer_arg.peer_nss);
+ "invalid peer NSS %d\n", peer_arg->peer_nss);
return -EINVAL;
}
- ret = ath12k_wmi_send_peer_assoc_cmd(ar, &peer_arg);
+ ret = ath12k_wmi_send_peer_assoc_cmd(ar, peer_arg);
if (ret) {
ath12k_warn(ar->ab, "failed to run peer assoc for STA %pM vdev %i: %d\n",
arsta->addr, arvif->vdev_id, ret);
--
2.39.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/4] wifi: ath12k: few fixes for clang warnings
2024-12-17 20:26 [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Kalle Valo
` (3 preceding siblings ...)
2024-12-17 20:26 ` [PATCH 4/4] wifi: ath12k: Decrease ath12k_mac_station_assoc() " Kalle Valo
@ 2024-12-19 17:54 ` Jeff Johnson
4 siblings, 0 replies; 6+ messages in thread
From: Jeff Johnson @ 2024-12-19 17:54 UTC (permalink / raw)
To: ath12k, Kalle Valo; +Cc: linux-wireless
On Tue, 17 Dec 2024 22:26:14 +0200, Kalle Valo wrote:
> From: Kalle Valo <quic_kvalo@quicinc.com>
>
> While build testing Jeff found some clang warnings, here are his fixes. Please
> review.
>
> Jeff Johnson (4):
> wifi: ath12k: Decrease ath12k_mac_op_remain_on_channel() stack usage
> wifi: ath12k: Decrease ath12k_bss_assoc() stack usage
> wifi: ath12k: Decrease ath12k_sta_rc_update_wk() stack usage
> wifi: ath12k: Decrease ath12k_mac_station_assoc() stack usage
>
> [...]
Applied, thanks!
[1/4] wifi: ath12k: Decrease ath12k_mac_op_remain_on_channel() stack usage
commit: aa21668ab3c7c479998be11393e1a1c3c2624fce
[2/4] wifi: ath12k: Decrease ath12k_bss_assoc() stack usage
commit: 445718c9958c8c160654068014c0e72505f59d63
[3/4] wifi: ath12k: Decrease ath12k_sta_rc_update_wk() stack usage
commit: 6ff412420e5ea1635385038a0bb4c77420862bc9
[4/4] wifi: ath12k: Decrease ath12k_mac_station_assoc() stack usage
commit: bf2da5c4f5b576d45f5f0cc0f508b8255f7ab015
Best regards,
--
Jeff Johnson <jeff.johnson@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-12-19 18:07 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-17 20:26 [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Kalle Valo
2024-12-17 20:26 ` [PATCH 1/4] wifi: ath12k: Decrease ath12k_mac_op_remain_on_channel() stack usage Kalle Valo
2024-12-17 20:26 ` [PATCH 2/4] wifi: ath12k: Decrease ath12k_bss_assoc() " Kalle Valo
2024-12-17 20:26 ` [PATCH 3/4] wifi: ath12k: Decrease ath12k_sta_rc_update_wk() " Kalle Valo
2024-12-17 20:26 ` [PATCH 4/4] wifi: ath12k: Decrease ath12k_mac_station_assoc() " Kalle Valo
2024-12-19 17:54 ` [PATCH 0/4] wifi: ath12k: few fixes for clang warnings Jeff Johnson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox