File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -635,8 +635,6 @@ static void vlan_dev_uninit(struct net_device *dev)
635
635
struct vlan_dev_priv * vlan = vlan_dev_priv (dev );
636
636
int i ;
637
637
638
- free_percpu (vlan -> vlan_pcpu_stats );
639
- vlan -> vlan_pcpu_stats = NULL ;
640
638
for (i = 0 ; i < ARRAY_SIZE (vlan -> egress_priority_map ); i ++ ) {
641
639
while ((pm = vlan -> egress_priority_map [i ]) != NULL ) {
642
640
vlan -> egress_priority_map [i ] = pm -> next ;
@@ -796,6 +794,15 @@ static const struct net_device_ops vlan_netdev_ops = {
796
794
.ndo_get_lock_subclass = vlan_dev_get_lock_subclass ,
797
795
};
798
796
797
+ static void vlan_dev_free (struct net_device * dev )
798
+ {
799
+ struct vlan_dev_priv * vlan = vlan_dev_priv (dev );
800
+
801
+ free_percpu (vlan -> vlan_pcpu_stats );
802
+ vlan -> vlan_pcpu_stats = NULL ;
803
+ free_netdev (dev );
804
+ }
805
+
799
806
void vlan_setup (struct net_device * dev )
800
807
{
801
808
ether_setup (dev );
@@ -805,7 +812,7 @@ void vlan_setup(struct net_device *dev)
805
812
dev -> tx_queue_len = 0 ;
806
813
807
814
dev -> netdev_ops = & vlan_netdev_ops ;
808
- dev -> destructor = free_netdev ;
815
+ dev -> destructor = vlan_dev_free ;
809
816
dev -> ethtool_ops = & vlan_ethtool_ops ;
810
817
811
818
memset (dev -> broadcast , 0 , ETH_ALEN );
You can’t perform that action at this time.
0 commit comments