diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2016-04-04 15:53:00 +0300 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2016-04-04 15:53:00 +0300 |
commit | 688b0793ff1245d0148c762e5736014a44a49b32 (patch) | |
tree | 72beb73e3f0f12ebd92dc3bdc1caa091a4135e7c /drivers | |
parent | da22624da74340bc875bc54f32db3b5b4dfaac5d (diff) | |
download | accel-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.c | 23 |
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); + } } } |