linux/drivers/net/bonding
Nils Carlson 16d79d7dc9 bonding 802.3ad: Fix the state machine locking v2
Changes since v1:
* Clarify an unclear comment
* Move a (possible) name change to a separate patch

The ad_rx_machine, ad_periodic_machine and ad_port_selection_logic
functions all inspect and alter common fields within the port structure.
Previous to this patch, only the ad_rx_machines were mutexed, and the
periodic and port_selection could run unmutexed against an ad_rx_machine
trigged by an arriving LACPDU.

This patch remedies the situation by protecting all the state machines
from concurrency. This is accomplished by locking around all the state
machines for a given port, which are executed at regular intervals; and
the ad_rx_machine when handling an incoming LACPDU.

Signed-off-by: Nils Carlson <nils.carlson@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-07 16:02:17 -08:00
..
bond_3ad.c bonding 802.3ad: Fix the state machine locking v2 2011-03-07 16:02:17 -08:00
bond_3ad.h Remove duplicate slow protocol define in bond_3ad.h 2009-05-09 13:15:49 -07:00
bond_alb.c bonding: Ensure that we unshare skbs prior to calling pskb_may_pull 2011-01-20 16:45:56 -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: Ensure that we unshare skbs prior to calling pskb_may_pull 2011-01-20 16:45:56 -08:00
bond_sysfs.c bonding: Fix deadlock in bonding driver resulting from internal locking when using netpoll 2010-10-18 08:32:07 -07:00
bonding.h headers: kobject.h redux 2011-01-10 08:51:44 -08:00
Makefile bonding: add the debugfs facility to the bonding driver 2010-12-10 16:24:33 -08:00