Arnd Bergmann <arnd@xxxxxxxx> wrote: > clang triggers a warning about oversized stack frames that gcc does not > notice because of slightly different inlining decisions: > > ath/wcn36xx/smd.c:1409:5: error: stack frame size of 1040 bytes in function 'wcn36xx_smd_config_bss' [-Werror,-Wframe-larger-than=] > ath/wcn36xx/smd.c:640:5: error: stack frame size of 1032 bytes in function 'wcn36xx_smd_start_hw_scan' [-Werror,-Wframe-larger-than=] > > Basically the wcn36xx_hal_start_scan_offload_req_msg, > wcn36xx_hal_config_bss_req_msg_v1, and wcn36xx_hal_config_bss_req_msg > structures are too large to be put on the kernel stack, but small > enough that gcc does not warn about them. > > Use kzalloc() to allocate them all. There are similar structures in other > parts of this driver, but they are all smaller, with the next largest > stack frame at 480 bytes for wcn36xx_smd_send_beacon. > > Fixes: 8e84c2582169 ("wcn36xx: mac80211 driver for Qualcomm WCN3660/WCN3680 hardware") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. 355cf3191201 wcn36xx: use dynamic allocation for large variables -- https://patchwork.kernel.org/patch/11052589/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches