Loading net/8021q/vlan.c +9 −1 Original line number Diff line number Diff line Loading @@ -105,6 +105,8 @@ void unregister_vlan_dev(struct net_device *dev, struct list_head *head) */ unregister_netdevice_queue(dev, head); netdev_upper_dev_unlink(real_dev, dev); if (grp->nr_vlan_devs == 0) vlan_gvrp_uninit_applicant(real_dev); Loading Loading @@ -162,9 +164,13 @@ int register_vlan_dev(struct net_device *dev) if (err < 0) goto out_uninit_applicant; err = netdev_upper_dev_link(real_dev, dev); if (err) goto out_uninit_applicant; err = register_netdevice(dev); if (err < 0) goto out_uninit_applicant; goto out_upper_dev_unlink; /* Account for reference in struct vlan_dev_priv */ dev_hold(real_dev); Loading @@ -180,6 +186,8 @@ int register_vlan_dev(struct net_device *dev) return 0; out_upper_dev_unlink: netdev_upper_dev_unlink(real_dev, dev); out_uninit_applicant: if (grp->nr_vlan_devs == 0) vlan_gvrp_uninit_applicant(real_dev); Loading Loading
net/8021q/vlan.c +9 −1 Original line number Diff line number Diff line Loading @@ -105,6 +105,8 @@ void unregister_vlan_dev(struct net_device *dev, struct list_head *head) */ unregister_netdevice_queue(dev, head); netdev_upper_dev_unlink(real_dev, dev); if (grp->nr_vlan_devs == 0) vlan_gvrp_uninit_applicant(real_dev); Loading Loading @@ -162,9 +164,13 @@ int register_vlan_dev(struct net_device *dev) if (err < 0) goto out_uninit_applicant; err = netdev_upper_dev_link(real_dev, dev); if (err) goto out_uninit_applicant; err = register_netdevice(dev); if (err < 0) goto out_uninit_applicant; goto out_upper_dev_unlink; /* Account for reference in struct vlan_dev_priv */ dev_hold(real_dev); Loading @@ -180,6 +186,8 @@ int register_vlan_dev(struct net_device *dev) return 0; out_upper_dev_unlink: netdev_upper_dev_unlink(real_dev, dev); out_uninit_applicant: if (grp->nr_vlan_devs == 0) vlan_gvrp_uninit_applicant(real_dev); Loading