diff options
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r-- | drivers/net/macvlan.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 3aabfd9dd212..20b7707f38ef 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c | |||
@@ -555,13 +555,13 @@ static int macvlan_newlink(struct net_device *dev, | |||
555 | return 0; | 555 | return 0; |
556 | } | 556 | } |
557 | 557 | ||
558 | static void macvlan_dellink(struct net_device *dev) | 558 | static void macvlan_dellink(struct net_device *dev, struct list_head *head) |
559 | { | 559 | { |
560 | struct macvlan_dev *vlan = netdev_priv(dev); | 560 | struct macvlan_dev *vlan = netdev_priv(dev); |
561 | struct macvlan_port *port = vlan->port; | 561 | struct macvlan_port *port = vlan->port; |
562 | 562 | ||
563 | list_del(&vlan->list); | 563 | list_del(&vlan->list); |
564 | unregister_netdevice(dev); | 564 | unregister_netdevice_queue(dev, head); |
565 | 565 | ||
566 | if (list_empty(&port->vlans)) | 566 | if (list_empty(&port->vlans)) |
567 | macvlan_port_destroy(port->dev); | 567 | macvlan_port_destroy(port->dev); |
@@ -601,7 +601,7 @@ static int macvlan_device_event(struct notifier_block *unused, | |||
601 | break; | 601 | break; |
602 | case NETDEV_UNREGISTER: | 602 | case NETDEV_UNREGISTER: |
603 | list_for_each_entry_safe(vlan, next, &port->vlans, list) | 603 | list_for_each_entry_safe(vlan, next, &port->vlans, list) |
604 | macvlan_dellink(vlan->dev); | 604 | macvlan_dellink(vlan->dev, NULL); |
605 | break; | 605 | break; |
606 | } | 606 | } |
607 | return NOTIFY_DONE; | 607 | return NOTIFY_DONE; |