2024-03-20 00:42:28

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [RFC] wireless: ti: Can we just remove this flexible array?



On 3/19/24 16:54, Jeff Johnson wrote:
> On 3/19/2024 2:59 PM, Gustavo A. R. Silva wrote:
>> Hi!
>>
>> `struct wl1271_cmd_header` is currently embedded in multiple other
>> structs, and it's causing many `-Wflex-array-member-not-at-end` warnings.
>>
>> Has this flexible-array member been used in the past or is it intended
>> for future use?
>>
>> Otherwise, I think we could just remove it.
>>
>> diff --git a/drivers/net/wireless/ti/wlcore/cmd.h b/drivers/net/wireless/ti/wlcore/cmd.h
>> index f2609d5b6bf7..4c2f2608ef3b 100644
>> --- a/drivers/net/wireless/ti/wlcore/cmd.h
>> +++ b/drivers/net/wireless/ti/wlcore/cmd.h
>> @@ -208,8 +208,6 @@ enum cmd_templ {
>> struct wl1271_cmd_header {
>> __le16 id;
>> __le16 status;
>> - /* payload */
>> - u8 data[];
>> } __packed;
>
> I'd think you should just remove it
>

Yep, I think I'm actually going to remove a few more:

diff --git a/drivers/net/wireless/ti/wl1251/cmd.h b/drivers/net/wireless/ti/wl1251/cmd.h
index e5874186f9d7..39159201b97e 100644
--- a/drivers/net/wireless/ti/wl1251/cmd.h
+++ b/drivers/net/wireless/ti/wl1251/cmd.h
@@ -89,8 +89,6 @@ enum wl1251_commands {
struct wl1251_cmd_header {
u16 id;
u16 status;
- /* payload */
- u8 data[];
} __packed;

struct wl1251_command {
diff --git a/drivers/net/wireless/ti/wl1251/wl12xx_80211.h b/drivers/net/wireless/ti/wl1251/wl12xx_80211.h
index 7e28fe435b43..3d5b0df5b231 100644
--- a/drivers/net/wireless/ti/wl1251/wl12xx_80211.h
+++ b/drivers/net/wireless/ti/wl1251/wl12xx_80211.h
@@ -65,7 +65,6 @@ struct ieee80211_header {
u8 sa[ETH_ALEN];
u8 bssid[ETH_ALEN];
__le16 seq_ctl;
- u8 payload[];
} __packed;

struct wl12xx_ie_header {
diff --git a/drivers/net/wireless/ti/wlcore/cmd.h b/drivers/net/wireless/ti/wlcore/cmd.h
index f2609d5b6bf7..4c2f2608ef3b 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.h
+++ b/drivers/net/wireless/ti/wlcore/cmd.h
@@ -208,8 +208,6 @@ enum cmd_templ {
struct wl1271_cmd_header {
__le16 id;
__le16 status;
- /* payload */
- u8 data[];
} __packed;

#define WL1271_CMD_MAX_PARAMS 572
diff --git a/drivers/net/wireless/ti/wlcore/wl12xx_80211.h b/drivers/net/wireless/ti/wlcore/wl12xx_80211.h
index 1dd7ecc11f86..602915c4da26 100644
--- a/drivers/net/wireless/ti/wlcore/wl12xx_80211.h
+++ b/drivers/net/wireless/ti/wlcore/wl12xx_80211.h
@@ -66,7 +66,6 @@ struct ieee80211_header {
u8 sa[ETH_ALEN];
u8 bssid[ETH_ALEN];
__le16 seq_ctl;
- u8 payload[];
} __packed;

struct wl12xx_ie_header {

--
Gustavo