diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 9dda2dc6b5e7..c8dbc0468ea2 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -1392,8 +1392,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);