diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 1076ae0ea9d57594bdac8a871570c53efb2afbdb..c37bd9569172e81e3594e93dbc300886a803e877 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -3583,7 +3583,9 @@ void rt6_sync_up(struct net_device *dev, unsigned int nh_flags)
 {
 	struct arg_netdev_event arg = {
 		.dev = dev,
-		.nh_flags = nh_flags,
+		{
+			.nh_flags = nh_flags,
+		},
 	};
 
 	if (nh_flags & RTNH_F_DEAD && netif_carrier_ok(dev))
@@ -3692,7 +3694,9 @@ void rt6_sync_down_dev(struct net_device *dev, unsigned long event)
 {
 	struct arg_netdev_event arg = {
 		.dev = dev,
-		.event = event,
+		{
+			.event = event,
+		},
 	};
 
 	fib6_clean_all(dev_net(dev), fib6_ifdown, &arg);