OpenCloudOS-Kernel/drivers/net/bonding
Jiri Pirko 35d48903e9 bonding: fix rx_handler locking
This prevents possible race between bond_enslave and bond_handle_frame
as reported by Nicolas by moving rx_handler register/unregister.
slave->bond is added to hold pointer to master bonding sructure. That
way dev->master is no longer used in bond_handler_frame.
Also, this removes "BUG: scheduling while atomic" message

Reported-by: Nicolas de Pesloüan <nicolas.2p.debian@gmail.com>
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Tested-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-23 12:45:10 -07:00
..
Makefile bonding: move procfs code into bond_procfs.c 2011-03-09 13:32:17 -08:00
bond_3ad.c bonding: wrap slave state work 2011-03-16 12:51:20 -07:00
bond_3ad.h bonding 802.3ad: Rename rx_machine_lock to state_machine_lock 2011-03-07 16:02:18 -08:00
bond_alb.c bonding: use the correct size for _simple_hash() 2011-02-28 13:21:28 -08:00
bond_alb.h bonding: migrate some macros from bond_alb.c to bond_alb.h 2010-12-16 13:16:05 -08:00
bond_debugfs.c bonding: add the debugfs interface to see RLB hash table 2010-12-16 13:16:05 -08:00
bond_ipv6.c bonding/vlan: Fix mangled NAs on slaves without VLAN tag insertion 2010-12-16 12:43:22 -08:00
bond_main.c bonding: fix rx_handler locking 2011-03-23 12:45:10 -07:00
bond_procfs.c bonding: move procfs code into bond_procfs.c 2011-03-09 13:32:17 -08:00
bond_sysfs.c bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag 2011-03-16 12:51:20 -07:00
bonding.h bonding: fix rx_handler locking 2011-03-23 12:45:10 -07:00