diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c index 92b221a03350..b5c390f0f2b3 100644 --- a/drivers/net/ipvlan/ipvlan_main.c +++ b/drivers/net/ipvlan/ipvlan_main.c @@ -549,6 +549,9 @@ static int ipvlan_link_new(struct net *src_net, struct net_device *dev, */ err = ida_simple_get(&port->ida, port->dev_id_start, 0xFFFE, GFP_KERNEL); + if (err < 0) + err = ida_simple_get(&port->ida, 0x1, port->dev_id_start, + GFP_KERNEL); if (err < 0) goto destroy_ipvlan_port; dev->dev_id = err;