On Mon, Nov 02, 2020 at 01:56:55PM +0000, Vladimir Oltean wrote: > On Mon, Nov 02, 2020 at 09:41:36PM +0800, Pujin Shi wrote: > > For older versions of gcc, the array = {0}; will cause warnings: > > > > 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 <shipuji...@gmail.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..b96eab4583e7 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 = {}; > > > > /* Overloaded field */ > > etype.value[0] = proto.value[0]; > > Sorry, I don't understand what the problem is, or why your patch fixes > it. What version of gcc are you testing with?
Nothing wrong and { 0 } is the right initializer, the reports must be from some ancient gcc but we weren't told which one either. https://lore.kernel.org/linux-btrfs/fbddb15a-6e46-3f21-23ba-b18f66e34...@suse.com/