diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 6363459ba1d0..cdc238dda1e1 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -1521,8 +1521,10 @@ destroy_macvlan_port: /* the macvlan port may be freed by macvlan_uninit when fail to register. * so we destroy the macvlan port only when it's valid. */ - if (create && macvlan_port_get_rtnl(lowerdev)) + if (create && macvlan_port_get_rtnl(lowerdev)) { + macvlan_flush_sources(port, vlan); macvlan_port_destroy(port->dev); + } return err; } EXPORT_SYMBOL_GPL(macvlan_common_newlink);