Re: [PATCH] staging: wfx: avoid defining array of flexible struct

From: Jérôme Pouiller
Date: Thu Feb 11 2021 - 08:09:23 EST


On Thursday 11 February 2021 11:50:26 CET Muhammad Usama Anjum wrote:
>
> In this particular case, the struct element is already flexible struct.
> Thus struct element ie[] is ambiguous inside another struct. The members
> of struct element ie aren't being accessed in code anywhere. The data of
> u8 type is copied in it. So it has been changed to u8 ie[] to make the
> sparse happy and code simple.

You may also mention that the driver code does not care of the type of
the ie attribute. It is only accessed from one place with memcpy().

>
> Warning from sparse:
> drivers/stagingwfx/hif_tx.c: note: in included file (through drivers/stagingwfx/data_tx.h, drivers/staging//wfx/wfx.h):
> drivers/staging//wfx/hif_api_cmd.h:103:26: warning: array of flexible structures
>
> Signed-off-by: Muhammad Usama Anjum <musamaanjum@xxxxxxxxx>
> ---
> drivers/staging/wfx/hif_api_cmd.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/wfx/hif_api_cmd.h b/drivers/staging/wfx/hif_api_cmd.h
> index 11bc1a58edae..58c9bb036011 100644
> --- a/drivers/staging/wfx/hif_api_cmd.h
> +++ b/drivers/staging/wfx/hif_api_cmd.h
> @@ -100,7 +100,7 @@ struct hif_req_update_ie {
> u8 reserved1:5;
> u8 reserved2;
> __le16 num_ies;
> - struct element ie[];
> + u8 ie[];
> } __packed;
>
> struct hif_cnf_update_ie {
> --
> 2.25.1
>
>

I think that "#include <linux/ieee80211.h>" is no more necessary.

Else:

Reviewed-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx>

--
Jérôme Pouiller