On 1/11/2024 8:16 AM, Kalle Valo wrote: > Lingbo Kong <quic_lingbok@xxxxxxxxxxx> wrote: > >> When ath12k send TWT enable command to firmware, firmware will return a TWT >> enable event to ath12k. Through the analysis of TWT enable event status, we >> can easily obtain the status of TWT enable command. It can be more >> convenient to debug TWT. >> >> This patch works with WCN7850 and QCN9274. >> >> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 >> >> Signed-off-by: Lingbo Kong <quic_lingbok@xxxxxxxxxxx> >> Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> > > Fails to compile: > > drivers/net/wireless/ath/ath12k/wmi.c: In function 'ath12k_wmi_twt_enable_event': > drivers/net/wireless/ath/ath12k/wmi.c:6675:48: error: passing argument 2 of 'ath12k_wmi_tlv_parse_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] > 6675 | tb = ath12k_wmi_tlv_parse_alloc(ab, skb->data, skb->len, GFP_ATOMIC); > | ~~~^~~~~~ > | | > | unsigned char * > drivers/net/wireless/ath/ath12k/wmi.c:367:44: note: expected 'struct sk_buff *' but argument is of type 'unsigned char *' > 367 | struct sk_buff *skb, gfp_t gfp) > | ~~~~~~~~~~~~~~~~^~~ > drivers/net/wireless/ath/ath12k/wmi.c:6675:14: error: too many arguments to function 'ath12k_wmi_tlv_parse_alloc' > 6675 | tb = ath12k_wmi_tlv_parse_alloc(ab, skb->data, skb->len, GFP_ATOMIC); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/net/wireless/ath/ath12k/wmi.c:366:1: note: declared here > 366 | ath12k_wmi_tlv_parse_alloc(struct ath12k_base *ab, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/net/wireless/ath/ath12k/wmi.c: In function 'ath12k_wmi_twt_disable_event': > drivers/net/wireless/ath/ath12k/wmi.c:6704:48: error: passing argument 2 of 'ath12k_wmi_tlv_parse_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] > 6704 | tb = ath12k_wmi_tlv_parse_alloc(ab, skb->data, skb->len, GFP_ATOMIC); > | ~~~^~~~~~ > | | > | unsigned char * > drivers/net/wireless/ath/ath12k/wmi.c:367:44: note: expected 'struct sk_buff *' but argument is of type 'unsigned char *' > 367 | struct sk_buff *skb, gfp_t gfp) > | ~~~~~~~~~~~~~~~~^~~ > drivers/net/wireless/ath/ath12k/wmi.c:6704:14: error: too many arguments to function 'ath12k_wmi_tlv_parse_alloc' > 6704 | tb = ath12k_wmi_tlv_parse_alloc(ab, skb->data, skb->len, GFP_ATOMIC); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/net/wireless/ath/ath12k/wmi.c:366:1: note: declared here > 366 | ath12k_wmi_tlv_parse_alloc(struct ath12k_base *ab, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make[7]: *** [scripts/Makefile.build:243: drivers/net/wireless/ath/ath12k/wmi.o] Error 1 > make[7]: *** Waiting for unfinished jobs.... > make[6]: *** [scripts/Makefile.build:480: drivers/net/wireless/ath/ath12k] Error 2 > make[5]: *** [scripts/Makefile.build:480: drivers/net/wireless/ath] Error 2 > make[4]: *** [scripts/Makefile.build:480: drivers/net/wireless] Error 2 > make[3]: *** [scripts/Makefile.build:480: drivers/net] Error 2 > make[2]: *** [scripts/Makefile.build:480: drivers] Error 2 > make[1]: *** [/home/kvalo/projects/atheros/ath10k/src/ath/Makefile:1911: .] Error 2 > make: *** [Makefile:234: __sub-make] Error 2 > > 2 patches set to Changes Requested. > > 13509671 [1/2] wifi: ath12k: add processing for TWT enable event > 13509673 [2/2] wifi: ath12k: add processing for TWT disable event > This became a victim of the interface change in: wifi: ath12k: refactor ath12k_wmi_tlv_parse_alloc()