Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 31844
b: refs/heads/master
c: 5dd8d1e
h: refs/heads/master
v: v3
  • Loading branch information
Arjan van de Ven authored and Linus Torvalds committed Jul 3, 2006
1 parent bc2e637 commit e08faed
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 663d440eaa496db903cc58be04b9b602ba45e43b
refs/heads/master: 5dd8d1e9eb8b51041505966fe96d081ecbe86efe
11 changes: 11 additions & 0 deletions trunk/net/8021q/vlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,14 @@ static void vlan_transfer_operstate(const struct net_device *dev, struct net_dev
}
}

/*
* vlan network devices have devices nesting below it, and are a special
* "super class" of normal network devices; split their locks off into a
* separate class since they always nest.
*/
static struct lock_class_key vlan_netdev_xmit_lock_key;


/* Attach a VLAN device to a mac address (ie Ethernet Card).
* Returns the device that was created, or NULL if there was
* an error of some kind.
Expand Down Expand Up @@ -460,6 +468,7 @@ static struct net_device *register_vlan_device(const char *eth_IF_name,

new_dev = alloc_netdev(sizeof(struct vlan_dev_info), name,
vlan_setup);

if (new_dev == NULL)
goto out_unlock;

Expand Down Expand Up @@ -518,6 +527,8 @@ static struct net_device *register_vlan_device(const char *eth_IF_name,
if (register_netdevice(new_dev))
goto out_free_newdev;

lockdep_set_class(&new_dev->_xmit_lock, &vlan_netdev_xmit_lock_key);

new_dev->iflink = real_dev->ifindex;
vlan_transfer_operstate(real_dev, new_dev);
linkwatch_fire_event(new_dev); /* _MUST_ call rfc2863_policy() */
Expand Down

0 comments on commit e08faed

Please sign in to comment.