mbox series

[v2,0/8] wifi: ath12k: MLO support part 2

Message ID 20241101151705.165987-1-kvalo@kernel.org (mailing list archive)
Headers show
Series wifi: ath12k: MLO support part 2 | expand

Message

Kalle Valo Nov. 1, 2024, 3:16 p.m. UTC
From: Kalle Valo <quic_kvalo@quicinc.com>

Here we continue to refactor mac.c to support multiple links and extend peer
assoc WMI command to support MLO.

Please review.

v2:

* patch 1: use err_vdev_del

* patch 2: ath12k_mac_mlo_get_vdev_args(): switch
wiphy_dereference()

* patch 2: use struct ath12k_wmi_mac_addr_params instead adding struct wmi_mac_addr

* patch 3: ath12k_mac_station_post_remove(): assign
ahsta->links_map before rcu_assign_pointer()

* patch 3: ath12k_mac_station_unauthorize(): fi* confusing comment about __sta_info_destroy_part2()

* patch 4: debugfs.c: copyright year

* patch 5: ath12k_peer_mlo_create(): remove parenthesis from the
  warning message

* patch 5: ATH12K_ML_PEER_ID_VALID: move to peer.h and rename to ATH12K_PEER_ML_ID_VALID

* patch 5: rename struct ath12k_peer::ml_peer_id to peer_id

* patch 5: use ath12k_peer_ml_*() naming style in peer.c

* patch 7: improve commit message a bit

* patch 7: struct wmi_peer_assoc_mlo_partner_info: add _params to name

v1: https://patchwork.kernel.org/project/linux-wireless/cover/20241023133004.2253830-1-kvalo@kernel.org/

Kalle Valo (2):
  wifi: ath12k: ath12k_mac_vdev_create(): use goto for error handling
  wifi: ath12k: introduce ath12k_hw_warn()

Sriram R (6):
  wifi: ath12k: MLO vdev bringup changes
  wifi: ath12k: Refactor sta state machine
  wifi: ath12k: Add helpers for multi link peer creation and deletion
  wifi: ath12k: add multi-link flag in peer create command
  wifi: ath12k: add helper to find multi-link station
  wifi: ath12k: Add MLO peer assoc command support

 drivers/net/wireless/ath/ath12k/core.h  |  25 ++
 drivers/net/wireless/ath/ath12k/debug.c |   6 +-
 drivers/net/wireless/ath/ath12k/debug.h |   5 +-
 drivers/net/wireless/ath/ath12k/mac.c   | 504 +++++++++++++++++++-----
 drivers/net/wireless/ath/ath12k/peer.c  | 115 ++++++
 drivers/net/wireless/ath/ath12k/peer.h  |  12 +
 drivers/net/wireless/ath/ath12k/wmi.c   | 191 ++++++++-
 drivers/net/wireless/ath/ath12k/wmi.h   | 115 ++++++
 8 files changed, 848 insertions(+), 125 deletions(-)


base-commit: fa934bf3e0a825ee09f035c6580af513187d59a2

Comments

Jeff Johnson Nov. 1, 2024, 4:51 p.m. UTC | #1
On 11/1/2024 8:16 AM, Kalle Valo wrote:
> From: Kalle Valo <quic_kvalo@quicinc.com>
> 
> Here we continue to refactor mac.c to support multiple links and extend peer
> assoc WMI command to support MLO.
> 
> Please review.
> 
> v2:
> 
> * patch 1: use err_vdev_del
> 
> * patch 2: ath12k_mac_mlo_get_vdev_args(): switch
> wiphy_dereference()
> 
> * patch 2: use struct ath12k_wmi_mac_addr_params instead adding struct wmi_mac_addr
> 
> * patch 3: ath12k_mac_station_post_remove(): assign
> ahsta->links_map before rcu_assign_pointer()
> 
> * patch 3: ath12k_mac_station_unauthorize(): fi* confusing comment about __sta_info_destroy_part2()
> 
> * patch 4: debugfs.c: copyright year
> 
> * patch 5: ath12k_peer_mlo_create(): remove parenthesis from the
>   warning message
> 
> * patch 5: ATH12K_ML_PEER_ID_VALID: move to peer.h and rename to ATH12K_PEER_ML_ID_VALID
> 
> * patch 5: rename struct ath12k_peer::ml_peer_id to peer_id
> 
> * patch 5: use ath12k_peer_ml_*() naming style in peer.c
> 
> * patch 7: improve commit message a bit
> 
> * patch 7: struct wmi_peer_assoc_mlo_partner_info: add _params to name
> 
> v1: https://patchwork.kernel.org/project/linux-wireless/cover/20241023133004.2253830-1-kvalo@kernel.org/
> 
> Kalle Valo (2):
>   wifi: ath12k: ath12k_mac_vdev_create(): use goto for error handling
>   wifi: ath12k: introduce ath12k_hw_warn()
> 
> Sriram R (6):
>   wifi: ath12k: MLO vdev bringup changes
>   wifi: ath12k: Refactor sta state machine
>   wifi: ath12k: Add helpers for multi link peer creation and deletion
>   wifi: ath12k: add multi-link flag in peer create command
>   wifi: ath12k: add helper to find multi-link station
>   wifi: ath12k: Add MLO peer assoc command support
> 
>  drivers/net/wireless/ath/ath12k/core.h  |  25 ++
>  drivers/net/wireless/ath/ath12k/debug.c |   6 +-
>  drivers/net/wireless/ath/ath12k/debug.h |   5 +-
>  drivers/net/wireless/ath/ath12k/mac.c   | 504 +++++++++++++++++++-----
>  drivers/net/wireless/ath/ath12k/peer.c  | 115 ++++++
>  drivers/net/wireless/ath/ath12k/peer.h  |  12 +
>  drivers/net/wireless/ath/ath12k/wmi.c   | 191 ++++++++-
>  drivers/net/wireless/ath/ath12k/wmi.h   | 115 ++++++
>  8 files changed, 848 insertions(+), 125 deletions(-)
> 
> 
> base-commit: fa934bf3e0a825ee09f035c6580af513187d59a2

with this series I see a new warning with gcc:
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=]

we should clean this up with a subsequent patch

I'm taking the current series into 'pending'

/jeff
Kalle Valo Nov. 4, 2024, 11:13 a.m. UTC | #2
Jeff Johnson <quic_jjohnson@quicinc.com> writes:

> On 11/1/2024 8:16 AM, Kalle Valo wrote:
>
>> From: Kalle Valo <quic_kvalo@quicinc.com>
>> 
>> Here we continue to refactor mac.c to support multiple links and extend peer
>> assoc WMI command to support MLO.
>> 
>> Please review.
>> 
>> v2:
>> 
>> * patch 1: use err_vdev_del
>> 
>> * patch 2: ath12k_mac_mlo_get_vdev_args(): switch
>> wiphy_dereference()
>> 
>> * patch 2: use struct ath12k_wmi_mac_addr_params instead adding struct wmi_mac_addr
>> 
>> * patch 3: ath12k_mac_station_post_remove(): assign
>> ahsta->links_map before rcu_assign_pointer()
>> 
>> * patch 3: ath12k_mac_station_unauthorize(): fi* confusing comment about __sta_info_destroy_part2()
>> 
>> * patch 4: debugfs.c: copyright year
>> 
>> * patch 5: ath12k_peer_mlo_create(): remove parenthesis from the
>>   warning message
>> 
>> * patch 5: ATH12K_ML_PEER_ID_VALID: move to peer.h and rename to ATH12K_PEER_ML_ID_VALID
>> 
>> * patch 5: rename struct ath12k_peer::ml_peer_id to peer_id
>> 
>> * patch 5: use ath12k_peer_ml_*() naming style in peer.c
>> 
>> * patch 7: improve commit message a bit
>> 
>> * patch 7: struct wmi_peer_assoc_mlo_partner_info: add _params to name
>> 
>> v1: https://patchwork.kernel.org/project/linux-wireless/cover/20241023133004.2253830-1-kvalo@kernel.org/
>> 
>> Kalle Valo (2):
>>   wifi: ath12k: ath12k_mac_vdev_create(): use goto for error handling
>>   wifi: ath12k: introduce ath12k_hw_warn()
>> 
>> Sriram R (6):
>>   wifi: ath12k: MLO vdev bringup changes
>>   wifi: ath12k: Refactor sta state machine
>>   wifi: ath12k: Add helpers for multi link peer creation and deletion
>>   wifi: ath12k: add multi-link flag in peer create command
>>   wifi: ath12k: add helper to find multi-link station
>>   wifi: ath12k: Add MLO peer assoc command support
>> 
>>  drivers/net/wireless/ath/ath12k/core.h  |  25 ++
>>  drivers/net/wireless/ath/ath12k/debug.c |   6 +-
>>  drivers/net/wireless/ath/ath12k/debug.h |   5 +-
>>  drivers/net/wireless/ath/ath12k/mac.c   | 504 +++++++++++++++++++-----
>>  drivers/net/wireless/ath/ath12k/peer.c  | 115 ++++++
>>  drivers/net/wireless/ath/ath12k/peer.h  |  12 +
>>  drivers/net/wireless/ath/ath12k/wmi.c   | 191 ++++++++-
>>  drivers/net/wireless/ath/ath12k/wmi.h   | 115 ++++++
>>  8 files changed, 848 insertions(+), 125 deletions(-)
>> 
>> 
>> base-commit: fa934bf3e0a825ee09f035c6580af513187d59a2
>
> with this series I see a new warning with gcc:
> 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=]

What GCC version are you using and can you privately share your .config?
I'm guessing it's coming from peer_arg which was already in
ath12k_bss_assoc() before this patchset:

	struct ath12k_wmi_peer_assoc_arg peer_arg;

And indeed it's a large struct, we shouldn't allocate that from the
stack.

> we should clean this up with a subsequent patch

Agreed.

> I'm taking the current series into 'pending'

Thanks.
Jeff Johnson Nov. 4, 2024, 3:43 p.m. UTC | #3
On Fri, 1 Nov 2024 17:16:57 +0200, Kalle Valo wrote:
> Here we continue to refactor mac.c to support multiple links and extend peer
> assoc WMI command to support MLO.
> 
> Please review.
> 
> v2:
> 
> [...]

Applied, thanks!

[1/8] wifi: ath12k: ath12k_mac_vdev_create(): use goto for error handling
      commit: 09b99c10ddcb4ce6ea8410057ce99e5ab8e21f84
[2/8] wifi: ath12k: MLO vdev bringup changes
      commit: 60dcd3ce43104d774962c63cd21e93853449f2b0
[3/8] wifi: ath12k: Refactor sta state machine
      commit: edecb91a4f808ae48885e69479aa1b8e0d8e23e0
[4/8] wifi: ath12k: introduce ath12k_hw_warn()
      commit: 0b532c7a3d7f6dfb44796df12afa0823338453dc
[5/8] wifi: ath12k: Add helpers for multi link peer creation and deletion
      commit: 2496a67fee5a1d08fa1dd193057ae16d35e656da
[6/8] wifi: ath12k: add multi-link flag in peer create command
      commit: 9ef82da375f8991a6006a36e4b00f87adbffb67e
[7/8] wifi: ath12k: add helper to find multi-link station
      commit: 08a171207b407c5c8e187ab0dd137cbb0394294c
[8/8] wifi: ath12k: Add MLO peer assoc command support
      commit: c33f9c2728d0ccc7472e6239346c0fb3de556e0f

Best regards,