]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: Fix locking bug on mesh path table access
authorJavier Cardona <javier@cozybit.com>
Tue, 3 May 2011 23:57:16 +0000 (16:57 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 11 May 2011 18:50:35 +0000 (14:50 -0400)
commitfe0d52e6eb9a8565af3d6053f9ec3ebcb626ef4b
tree1e833eb357f66aba37980b240de48671eec900a6
parentd65e1d766f70fa4bbad82949fe98b049a69198c7
mac80211: Fix locking bug on mesh path table access

The mesh and mpp path tables are accessed from softirq and workqueue
context so non-irq locking cannot be used.  Or at least that's what
PROVE_RCU seems to tell us here:

[  431.240946] =================================
[  431.241061] [ INFO: inconsistent lock state ]
[  431.241061] 2.6.39-rc3-wl+ #354
[  431.241061] ---------------------------------
[  431.241061] inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
[  431.241061] kworker/u:1/1423 [HC0[0]:SC0[0]:HE1:SE1] takes:
[  431.241061]  (&(&newtbl->hashwlock[i])->rlock){+.?...}, at:
[<c14671bf>] mesh_path_add+0x167/0x257

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/mesh_pathtbl.c