diff options
Diffstat (limited to 'net/8021q')
-rw-r--r-- | net/8021q/vlan_dev.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 8059fa42b085..77f04e49a1a0 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
@@ -563,6 +563,7 @@ static int vlan_dev_stop(struct net_device *dev) | |||
563 | struct net_device *real_dev = vlan_dev_info(dev)->real_dev; | 563 | struct net_device *real_dev = vlan_dev_info(dev)->real_dev; |
564 | 564 | ||
565 | dev_mc_unsync(real_dev, dev); | 565 | dev_mc_unsync(real_dev, dev); |
566 | dev_unicast_unsync(real_dev, dev); | ||
566 | if (dev->flags & IFF_ALLMULTI) | 567 | if (dev->flags & IFF_ALLMULTI) |
567 | dev_set_allmulti(real_dev, -1); | 568 | dev_set_allmulti(real_dev, -1); |
568 | if (dev->flags & IFF_PROMISC) | 569 | if (dev->flags & IFF_PROMISC) |
@@ -634,9 +635,10 @@ static void vlan_dev_change_rx_flags(struct net_device *dev, int change) | |||
634 | dev_set_promiscuity(real_dev, dev->flags & IFF_PROMISC ? 1 : -1); | 635 | dev_set_promiscuity(real_dev, dev->flags & IFF_PROMISC ? 1 : -1); |
635 | } | 636 | } |
636 | 637 | ||
637 | static void vlan_dev_set_multicast_list(struct net_device *vlan_dev) | 638 | static void vlan_dev_set_rx_mode(struct net_device *vlan_dev) |
638 | { | 639 | { |
639 | dev_mc_sync(vlan_dev_info(vlan_dev)->real_dev, vlan_dev); | 640 | dev_mc_sync(vlan_dev_info(vlan_dev)->real_dev, vlan_dev); |
641 | dev_unicast_sync(vlan_dev_info(vlan_dev)->real_dev, vlan_dev); | ||
640 | } | 642 | } |
641 | 643 | ||
642 | /* | 644 | /* |
@@ -702,7 +704,8 @@ void vlan_setup(struct net_device *dev) | |||
702 | dev->open = vlan_dev_open; | 704 | dev->open = vlan_dev_open; |
703 | dev->stop = vlan_dev_stop; | 705 | dev->stop = vlan_dev_stop; |
704 | dev->set_mac_address = vlan_dev_set_mac_address; | 706 | dev->set_mac_address = vlan_dev_set_mac_address; |
705 | dev->set_multicast_list = vlan_dev_set_multicast_list; | 707 | dev->set_rx_mode = vlan_dev_set_rx_mode; |
708 | dev->set_multicast_list = vlan_dev_set_rx_mode; | ||
706 | dev->change_rx_flags = vlan_dev_change_rx_flags; | 709 | dev->change_rx_flags = vlan_dev_change_rx_flags; |
707 | dev->do_ioctl = vlan_dev_ioctl; | 710 | dev->do_ioctl = vlan_dev_ioctl; |
708 | dev->destructor = free_netdev; | 711 | dev->destructor = free_netdev; |