summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2016-04-04 15:53:00 +0300
committerDmitry Kozlov <xeb@mail.ru>2016-04-04 15:53:00 +0300
commit688b0793ff1245d0148c762e5736014a44a49b32 (patch)
tree72beb73e3f0f12ebd92dc3bdc1caa091a4135e7c /drivers
parentda22624da74340bc875bc54f32db3b5b4dfaac5d (diff)
downloadaccel-ppp-688b0793ff1245d0148c762e5736014a44a49b32.tar.gz
accel-ppp-688b0793ff1245d0148c762e5736014a44a49b32.zip
vlan_mon: fixes for previous commit
Diffstat (limited to 'drivers')
-rw-r--r--drivers/vlan_mon/vlan_mon.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/vlan_mon/vlan_mon.c b/drivers/vlan_mon/vlan_mon.c
index 6f9217d2..d486df70 100644
--- a/drivers/vlan_mon/vlan_mon.c
+++ b/drivers/vlan_mon/vlan_mon.c
@@ -431,23 +431,22 @@ static void vlan_dev_clean(struct vlan_dev *d, struct net_device *dev, struct li
struct net_device *vd;
for (i = 1; i < 4096; i++) {
- if (d->vid[0][i / (8*sizeof(long))] & (1lu << (i % (8*sizeof(long)))) &&
- d->vid[1][i / (8*sizeof(long))] & (1lu << (i % (8*sizeof(long)))))
- continue;
+ if (d->busy[i / (8*sizeof(long))] & (1lu << (i % (8*sizeof(long))))) {
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
- vd = __vlan_find_dev_deep(dev, i);
+ vd = __vlan_find_dev_deep(dev, i);
#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0)
- vd = __vlan_find_dev_deep(dev, htons(ETH_P_8021Q), i);
- if (!vd)
- vd = __vlan_find_dev_deep(dev, htons(ETH_P_8021AD), i);
+ vd = __vlan_find_dev_deep(dev, htons(ETH_P_8021Q), i);
+ if (!vd)
+ vd = __vlan_find_dev_deep(dev, htons(ETH_P_8021AD), i);
#else
- vd = __vlan_find_dev_deep_rcu(dev, htons(ETH_P_8021Q), i);
- if (!vd)
- vd = __vlan_find_dev_deep_rcu(dev, htons(ETH_P_8021AD), i);
+ vd = __vlan_find_dev_deep_rcu(dev, htons(ETH_P_8021Q), i);
+ if (!vd)
+ vd = __vlan_find_dev_deep_rcu(dev, htons(ETH_P_8021AD), i);
#endif
- if (vd)
- vd->rtnl_link_ops->dellink(vd, list);
+ if (vd)
+ vd->rtnl_link_ops->dellink(vd, list);
+ }
}
}