diff options
author | Tony Camuso <tcamuso@redhat.com> | 2014-06-23 16:08:03 +0530 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-23 14:32:19 -0700 |
commit | 8e091340cfcd6f96ca0dddb078ce28c407a6d44c (patch) | |
tree | 8423186f4faf1236c4f2ed3bfc01b69008782aff /security | |
parent | a145df23ef32c7b933875f334ba28791ee75766e (diff) | |
download | linux-8e091340cfcd6f96ca0dddb078ce28c407a6d44c.tar.gz linux-8e091340cfcd6f96ca0dddb078ce28c407a6d44c.tar.bz2 linux-8e091340cfcd6f96ca0dddb078ce28c407a6d44c.zip |
enic: fix lockdep around devcmd_lock
We were experiencing occasional "BUG: scheduling while atomic" splats
in our testing. Enabling DEBUG_SPINLOCK and DEBUG_LOCKDEP in the kernel
exposed a lockdep in the enic driver.
enic 0000:0b:00.0 eth2: Link UP
======================================================
[ INFO: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected ]
3.12.0-rc1.x86_64-dbg+ #2 Tainted: GF W
------------------------------------------------------
NetworkManager/4209 [HC0[0]:SC0[2]:HE1:SE0] is trying to acquire:
(&(&enic->devcmd_lock)->rlock){+.+...}, at: [<ffffffffa026b7e4>] enic_dev_packet_filter+0x44/0x90 [enic]
The fix was to replace spin_lock with spin_lock_bh for the enic
devcmd_lock, so that soft irqs would be disabled while the lock
is held.
Signed-off-by: Sujith Sankar <ssujith@cisco.com>
Signed-off-by: Tony Camuso <tcamuso@redhat.com>
Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions