diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-15 03:08:33 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-15 03:08:33 -0400 |
commit | f1f28aa3510ddb84c966bac65611bb866c77a092 (patch) | |
tree | dc8509a61667c52ee43df64bf69566569538b691 | |
parent | f66ac03d497c162c70cd0ccc802ce1777073cdf3 (diff) |
netdev: Add addr_list_lock to struct net_device.
This will be used to protect the per-device unicast and multicast
address lists, as well as the callbacks into the drivers which
configure such state such as ->set_rx_mode() and ->set_multicast_list().
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/netdevice.h | 1 | ||||
-rw-r--r-- | net/core/dev.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index ba5c4639ea91..fd0365219181 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -609,6 +609,7 @@ struct net_device | |||
609 | unsigned char addr_len; /* hardware address length */ | 609 | unsigned char addr_len; /* hardware address length */ |
610 | unsigned short dev_id; /* for shared network cards */ | 610 | unsigned short dev_id; /* for shared network cards */ |
611 | 611 | ||
612 | spinlock_t addr_list_lock; | ||
612 | struct dev_addr_list *uc_list; /* Secondary unicast mac addresses */ | 613 | struct dev_addr_list *uc_list; /* Secondary unicast mac addresses */ |
613 | int uc_count; /* Number of installed ucasts */ | 614 | int uc_count; /* Number of installed ucasts */ |
614 | int uc_promisc; | 615 | int uc_promisc; |
diff --git a/net/core/dev.c b/net/core/dev.c index feaab4898a5b..d933d1bfa6fa 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -3836,6 +3836,7 @@ int register_netdevice(struct net_device *dev) | |||
3836 | BUG_ON(!dev_net(dev)); | 3836 | BUG_ON(!dev_net(dev)); |
3837 | net = dev_net(dev); | 3837 | net = dev_net(dev); |
3838 | 3838 | ||
3839 | spin_lock_init(&dev->addr_list_lock); | ||
3839 | netdev_init_queue_locks(dev); | 3840 | netdev_init_queue_locks(dev); |
3840 | 3841 | ||
3841 | dev->iflink = -1; | 3842 | dev->iflink = -1; |