[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201103110509.6bb18273@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net>
Date:   Tue, 3 Nov 2020 11:05:09 -0800
From:   Jakub Kicinski <kuba@...nel.org>
To:     Pujin Shi <shipujin.t@...il.com>
Cc:     "David S . Miller" <davem@...emloft.net>,
        Microchip Linux Driver Support <UNGLinuxDriver@...rochip.com>,
        Vladimir Oltean <vladimir.oltean@....com>,
        Claudiu Manoil <claudiu.manoil@....com>,
        Alexandre Belloni <alexandre.belloni@...tlin.com>,
        Xiaoliang Yang <xiaoliang.yang_1@....com>,
        netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2] net: ethernet: mscc: fix missing brace warning for
 old compilers
On Tue,  3 Nov 2020 10:55:19 +0800 Pujin Shi wrote:
> For older versions of gcc, the array = {0}; will cause warnings:
Please include the version of gcc which generates this warning here.
> drivers/net/ethernet/mscc/ocelot_vcap.c: In function 'is1_entry_set':
> drivers/net/ethernet/mscc/ocelot_vcap.c:755:11: warning: missing braces around initializer [-Wmissing-braces]
>     struct ocelot_vcap_u16 etype = {0};
>            ^
> drivers/net/ethernet/mscc/ocelot_vcap.c:755:11: warning: (near initialization for 'etype.value') [-Wmissing-braces]
> 
> 1 warnings generated
> 
> Fixes: 75944fda1dfe ("net: mscc: ocelot: offload ingress skbedit and vlan actions to VCAP IS1")
> Signed-off-by: Pujin Shi <shipujin.t@...il.com>
> ---
>  drivers/net/ethernet/mscc/ocelot_vcap.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/mscc/ocelot_vcap.c b/drivers/net/ethernet/mscc/ocelot_vcap.c
> index d8c778ee6f1b..b5167570521c 100644
> --- a/drivers/net/ethernet/mscc/ocelot_vcap.c
> +++ b/drivers/net/ethernet/mscc/ocelot_vcap.c
> @@ -752,7 +752,7 @@ static void is1_entry_set(struct ocelot *ocelot, int ix,
>  					     dport);
>  		} else {
>  			/* IPv4 "other" frame */
> -			struct ocelot_vcap_u16 etype = {0};
> +			struct ocelot_vcap_u16 etype = {{0}};
I believe Vladimir asked to use a memset instead;
			struct ocelot_vcap_u16 etype;
			memset(&etype, 0, sizeof(etype));
>  			/* Overloaded field */
>  			etype.value[0] = proto.value[0];
Powered by blists - more mailing lists
 
