Commit f1f28aa3 authored by David S. Miller's avatar David S. Miller

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: default avatarDavid S. Miller <davem@davemloft.net>
parent f66ac03d
...@@ -609,6 +609,7 @@ struct net_device ...@@ -609,6 +609,7 @@ struct net_device
unsigned char addr_len; /* hardware address length */ unsigned char addr_len; /* hardware address length */
unsigned short dev_id; /* for shared network cards */ unsigned short dev_id; /* for shared network cards */
spinlock_t addr_list_lock;
struct dev_addr_list *uc_list; /* Secondary unicast mac addresses */ struct dev_addr_list *uc_list; /* Secondary unicast mac addresses */
int uc_count; /* Number of installed ucasts */ int uc_count; /* Number of installed ucasts */
int uc_promisc; int uc_promisc;
......
...@@ -3836,6 +3836,7 @@ int register_netdevice(struct net_device *dev) ...@@ -3836,6 +3836,7 @@ int register_netdevice(struct net_device *dev)
BUG_ON(!dev_net(dev)); BUG_ON(!dev_net(dev));
net = dev_net(dev); net = dev_net(dev);
spin_lock_init(&dev->addr_list_lock);
netdev_init_queue_locks(dev); netdev_init_queue_locks(dev);
dev->iflink = -1; dev->iflink = -1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment