diff options
Diffstat (limited to 'net/8021q/vlan_netlink.c')
-rw-r--r-- | net/8021q/vlan_netlink.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/8021q/vlan_netlink.c b/net/8021q/vlan_netlink.c index c93e69ec28ed..e9c91dcecc9b 100644 --- a/net/8021q/vlan_netlink.c +++ b/net/8021q/vlan_netlink.c | |||
@@ -59,7 +59,8 @@ static int vlan_validate(struct nlattr *tb[], struct nlattr *data[]) | |||
59 | } | 59 | } |
60 | if (data[IFLA_VLAN_FLAGS]) { | 60 | if (data[IFLA_VLAN_FLAGS]) { |
61 | flags = nla_data(data[IFLA_VLAN_FLAGS]); | 61 | flags = nla_data(data[IFLA_VLAN_FLAGS]); |
62 | if ((flags->flags & flags->mask) & ~VLAN_FLAG_REORDER_HDR) | 62 | if ((flags->flags & flags->mask) & |
63 | ~(VLAN_FLAG_REORDER_HDR | VLAN_FLAG_GVRP)) | ||
63 | return -EINVAL; | 64 | return -EINVAL; |
64 | } | 65 | } |
65 | 66 | ||
@@ -75,7 +76,6 @@ static int vlan_validate(struct nlattr *tb[], struct nlattr *data[]) | |||
75 | static int vlan_changelink(struct net_device *dev, | 76 | static int vlan_changelink(struct net_device *dev, |
76 | struct nlattr *tb[], struct nlattr *data[]) | 77 | struct nlattr *tb[], struct nlattr *data[]) |
77 | { | 78 | { |
78 | struct vlan_dev_info *vlan = vlan_dev_info(dev); | ||
79 | struct ifla_vlan_flags *flags; | 79 | struct ifla_vlan_flags *flags; |
80 | struct ifla_vlan_qos_mapping *m; | 80 | struct ifla_vlan_qos_mapping *m; |
81 | struct nlattr *attr; | 81 | struct nlattr *attr; |
@@ -83,8 +83,7 @@ static int vlan_changelink(struct net_device *dev, | |||
83 | 83 | ||
84 | if (data[IFLA_VLAN_FLAGS]) { | 84 | if (data[IFLA_VLAN_FLAGS]) { |
85 | flags = nla_data(data[IFLA_VLAN_FLAGS]); | 85 | flags = nla_data(data[IFLA_VLAN_FLAGS]); |
86 | vlan->flags = (vlan->flags & ~flags->mask) | | 86 | vlan_dev_change_flags(dev, flags->flags, flags->mask); |
87 | (flags->flags & flags->mask); | ||
88 | } | 87 | } |
89 | if (data[IFLA_VLAN_INGRESS_QOS]) { | 88 | if (data[IFLA_VLAN_INGRESS_QOS]) { |
90 | nla_for_each_nested(attr, data[IFLA_VLAN_INGRESS_QOS], rem) { | 89 | nla_for_each_nested(attr, data[IFLA_VLAN_INGRESS_QOS], rem) { |