]> err.no Git - linux-2.6/commit
bonding: Fix locking in 802.3ad mode
authorJay Vosburgh <fubar@us.ibm.com>
Sat, 22 Mar 2008 05:29:33 +0000 (22:29 -0700)
committerJeff Garzik <jeff@garzik.org>
Wed, 26 Mar 2008 03:15:38 +0000 (23:15 -0400)
commit2bf86b7aa8e74bf81a9872f7b610f49b610a4649
tree243fab364159920c950e393194c0ba8421a15d05
parent26c080bf8308449330037f91daa3ac0a7c41023e
bonding: Fix locking in 802.3ad mode

The 802.3ad state machine lock can be acquired in both softirq and
not softirq context, but was not held at _bh to prevent a deadlock (which
could occur if a LACPDU arrived and was processed while the lock was
held).

Corrected this, now hold the state machine lock at _bh to prevent
deadlock.

Bug reported by Todd Fleisher <todd@fleish.org>.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/bonding/bond_3ad.c