ath10k: htt: remove array of flexible structures
PATCH 1/2 ath10k: htt: remove array of flexible structures
From: Kalle Valo <[email protected]>
I updated to sparse v0.6.4 and it warns:
drivers/net/wireless/ath/ath10k/hw.c: note: in included file (through drivers/net/wireless/ath/ath10k/core.h):drivers/net/wireless/ath/ath10k/htt.h:1503:41: warning: array of flexible structures drivers/net/wireless/ath/ath10k/htt_rx.c: note: in included file (through drivers/net/wireless/ath/ath10k/core.h):drivers/net/wireless/ath/ath10k/htt.h:1503:41: warning: array of flexible structures
The structure is unused in ath10k so let's just remove it.
Compile tested only.
--- drivers/net/wireless/ath/ath10k/htt.h | 110 -------------------------- 1 file changed, 110 deletions(-)
drivers/net/wireless/ath/ath10k/htt.h +0 -110
@@ -1400,115 +1400,6 @@ enum htt_dbg_stats_status { HTT_DBG_STATS_STATUS_SERIES_DONE = 7 }; -/* -* target -> host statistics upload -* -* The following field definitions describe the format of the HTT target -* to host stats upload confirmation message. -* The message contains a cookie echoed from the HTT host->target stats -* upload request, which identifies which request the confirmation is -* for, and a series of tag-length-value stats information elements. -* The tag-length header for each stats info element also includes a -* status field, to indicate whether the request for the stat type in -* question was fully met, partially met, unable to be met, or invalid -* (if the stat type in question is disabled in the target). -* A special value of all 1's in this status field is used to indicate -* the end of the series of stats info elements. -* -* -* |31 16|15 8|7 5|4 0| -* |------------------------------------------------------------| -* | reserved | msg type | -* |------------------------------------------------------------| -* | cookie LSBs | -* |------------------------------------------------------------| -* | cookie MSBs | -* |------------------------------------------------------------| -* | stats entry length | reserved | S |stat type| -* |------------------------------------------------------------| -* | | -* | type-specific stats info | -* | | -* |------------------------------------------------------------| -* | stats entry length | reserved | S |stat type| -* |------------------------------------------------------------| -* | | -* | type-specific stats info | -* | | -* |------------------------------------------------------------| -* | n/a | reserved | 111 | n/a | -* |------------------------------------------------------------| -* Header fields: -* - MSG_TYPE -* Bits 7:0 -* Purpose: identifies this is a statistics upload confirmation message -* Value: 0x9 -* - COOKIE_LSBS -* Bits 31:0 -* Purpose: Provide a mechanism to match a target->host stats confirmation -* message with its preceding host->target stats request message. -* Value: LSBs of the opaque cookie specified by the host-side requestor -* - COOKIE_MSBS -* Bits 31:0 -* Purpose: Provide a mechanism to match a target->host stats confirmation -* message with its preceding host->target stats request message. -* Value: MSBs of the opaque cookie specified by the host-side requestor -* -* Stats Information Element tag-length header fields: -* - STAT_TYPE -* Bits 4:0 -* Purpose: identifies the type of statistics info held in the -* following information element -* Value: htt_dbg_stats_type -* - STATUS -* Bits 7:5 -* Purpose: indicate whether the requested stats are present -* Value: htt_dbg_stats_status, including a special value (0x7) to mark -* the completion of the stats entry series -* - LENGTH -* Bits 31:16 -* Purpose: indicate the stats information size -* Value: This field specifies the number of bytes of stats information -* that follows the element tag-length header. -* It is expected but not required that this length is a multiple of -* 4 bytes. Even if the length is not an integer multiple of 4, the -* subsequent stats entry header will begin on a 4-byte aligned -* boundary. -*/ - -#define HTT_STATS_CONF_ITEM_INFO_STAT_TYPE_MASK 0x1F -#define HTT_STATS_CONF_ITEM_INFO_STAT_TYPE_LSB 0 -#define HTT_STATS_CONF_ITEM_INFO_STATUS_MASK 0xE0 -#define HTT_STATS_CONF_ITEM_INFO_STATUS_LSB 5 - -struct htt_stats_conf_item { -union { -u8 info; -struct { -u8 stat_type:5 ;/* %HTT_DBG_STATS_ */ -u8 status:3 ;/* %HTT_DBG_STATS_STATUS_ */ - } __packed; - } __packed; -u8 pad; -__le16 length; -u8 payload[];/* roundup(length, 4) long */ -} __packed; - -struct htt_stats_conf { -u8 pad[3 ]; -__le32 cookie_lsb; -__le32 cookie_msb; - -/* each item has variable length! */ -struct htt_stats_conf_item items[]; -} __packed; - -static inline struct htt_stats_conf_item *htt_stats_conf_next_item ( -const struct htt_stats_conf_item *item) -{ -return (void *)item +sizeof (*item) +roundup (item->length,4 ); -} -/* * host -> target FRAG DESCRIPTOR/MSDU_EXT DESC bank *
@@ -1828,7 +1719,6 @@ struct htt_resp {struct htt_rc_update rc_update;struct htt_rx_test rx_test;struct htt_pktlog_msg pktlog_msg; -struct htt_stats_conf stats_conf;struct htt_rx_pn_ind rx_pn_ind;struct htt_rx_offload_ind rx_offload_ind;struct htt_rx_in_ord_ind rx_in_ord_ind;
Signature · 1 line
2.20.1
PATCH 2/2 ath10k: wmi: remove array of flexible structures
From: Kalle Valo <[email protected]>
I updated to sparse v0.6.4 and it warns:
drivers/net/wireless/ath/ath10k/wmi.c: note: in included file (through drivers/net/wireless/ath/ath10k/core.h):drivers/net/wireless/ath/ath10k/wmi.h:3481:34: warning: array of flexible structures
Fix it by changing the type to u8 array, in struct wmi_phyerr_hdr_arg it's stored as a void pointer anyway.
Compile tested only.
--- drivers/net/wireless/ath/ath10k/wmi.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/net/wireless/ath/ath10k/wmi.h +3 -1
@@ -3478,7 +3478,9 @@ struct wmi_phyerr_event {__le32 num_phyerrs;__le32 tsf_l32;__le32 tsf_u32; -struct wmi_phyerr phyerrs[]; + +/* array of struct wmi_phyerr */ +u8 phyerrs[]; } __packed;struct wmi_10_4_phyerr_event {
Signature · 1 line
2.20.1
Quoted 7 lines · Kalle Valo
I updated to sparse v0.6.4 and it warns:
drivers/net/wireless/ath/ath10k/hw.c: note: in included file (throughdrivers/net/wireless/ath/ath10k/core.h):drivers/net/wireless/ath/ath10k/htt.h:1503:41: warning: array of flexible structuresdrivers/net/wireless/ath/ath10k/htt_rx.c: note: in included file (throughdrivers/net/wireless/ath/ath10k/core.h):drivers/net/wireless/ath/ath10k/htt.h:1503:41: warning: array of flexible structures
Quoted 5 lines
The structure is unused in ath10k so let's just remove it.
Compile tested only.
Signed-off-by Kalle Valo <[email protected]>
2 patches applied to ath-next branch of ath.git, thanks.
56789eef894c ath10k: htt: remove array of flexible structures 5341d57bc398 ath10k: wmi: remove array of flexible structures
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches