projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
944f8a1
)
NFC: Use dynamic initialization for rwlocks
author
Szymon Janc
<
[email protected]
>
Tue, 25 Sep 2012 10:42:50 +0000
(12:42 +0200)
committer
Samuel Ortiz
<
[email protected]
>
Thu, 27 Sep 2012 08:47:03 +0000
(10:47 +0200)
If rwlock is dynamically allocated but statically initialized it is
missing proper lockdep annotation.
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
Pid: 3352, comm: neard Not tainted 3.5.0-999-nfc+ #2
Call Trace:
[<
ffffffff810c8526
>] __lock_acquire+0x8f6/0x1bf0
[<
ffffffff81739045
>] ? printk+0x4d/0x4f
[<
ffffffff810c9eed
>] lock_acquire+0x9d/0x220
[<
ffffffff81702bfe
>] ? nfc_llcp_sock_from_sn+0x4e/0x160
[<
ffffffff81746724
>] _raw_read_lock+0x44/0x60
[<
ffffffff81702bfe
>] ? nfc_llcp_sock_from_sn+0x4e/0x160
[<
ffffffff81702bfe
>] nfc_llcp_sock_from_sn+0x4e/0x160
[<
ffffffff817034a7
>] nfc_llcp_get_sdp_ssap+0xa7/0x1b0
[<
ffffffff81706353
>] llcp_sock_bind+0x173/0x210
[<
ffffffff815d9c94
>] sys_bind+0xe4/0x100
[<
ffffffff8139209e
>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[<
ffffffff8174ea69
>] system_call_fastpath+0x16/0x1b
Signed-off-by: Szymon Janc <
[email protected]
>
Signed-off-by: Samuel Ortiz <
[email protected]
>
net/nfc/llcp/llcp.c
patch
|
blob
|
history
diff --git
a/net/nfc/llcp/llcp.c
b/net/nfc/llcp/llcp.c
index 90ef4a17681901a93dfe0ae8a12b8dd1d6068f43..d649fbf39d580bcbd2936de0e2c81ff29acb56d0 100644
(file)
--- a/
net/nfc/llcp/llcp.c
+++ b/
net/nfc/llcp/llcp.c
@@
-1156,8
+1156,8
@@
int nfc_llcp_register_device(struct nfc_dev *ndev)
INIT_WORK(&local->timeout_work, nfc_llcp_timeout_work);
-
local->sockets.lock = __RW_LOCK_UNLOCKED(
local->sockets.lock);
-
local->connecting_sockets.lock = __RW_LOCK_UNLOCKED(
local->connecting_sockets.lock);
+
rwlock_init(&
local->sockets.lock);
+
rwlock_init(&
local->connecting_sockets.lock);
nfc_llcp_build_gb(local);