OSDN Git Service
(root)
/
android-x86
/
kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1dc954b
)
powerpc: Use of_node_init() for the fakenode in msi_bitmap.c
author
Li Zhong
<zhong@linux.vnet.ibm.com>
Thu, 3 Apr 2014 06:58:20 +0000
(14:58 +0800)
committer
Benjamin Herrenschmidt
<benh@kernel.crashing.org>
Wed, 9 Apr 2014 02:53:07 +0000
(12:53 +1000)
This patch uses of_node_init() to initialize the kobject in the fake
node used in test_of_node(), to avoid following kobject warning.
[ 0.897654] kobject: '(null)' (
c0000007ca183a08
): is not initialized, yet kobject_put() is being called.
[ 0.897682] ------------[ cut here ]------------
[ 0.897688] WARNING: at lib/kobject.c:670
[ 0.897692] Modules linked in:
[ 0.897701] CPU: 4 PID: 1 Comm: swapper/0 Not tainted 3.14.0+ #1
[ 0.897708] task:
c0000007ca100000
ti:
c0000007ca180000
task.ti:
c0000007ca180000
[ 0.897715] NIP:
c00000000046a1f0
LR:
c00000000046a1ec
CTR:
0000000001704660
[ 0.897721] REGS:
c0000007ca1835c0
TRAP: 0700 Not tainted (3.14.0+)
[ 0.897727] MSR:
8000000000029032
<SF,EE,ME,IR,DR,RI> CR:
28000024
XER:
0000000d
[ 0.897749] CFAR:
c0000000008ef4ec
SOFTE: 1
GPR00:
c00000000046a1ec
c0000007ca183840
c0000000014c59b8
000000000000005c
GPR04:
0000000000000001
c000000000129770
0000000000000000
0000000000000001
GPR08:
0000000000000000
0000000000000000
0000000000000000
0000000000003fef
GPR12:
0000000000000000
c00000000f221200
c00000000000c350
0000000000000000
GPR16:
0000000000000000
0000000000000000
0000000000000000
0000000000000000
GPR20:
0000000000000000
0000000000000000
0000000000000000
0000000000000000
GPR24:
0000000000000000
c00000000144e808
c000000000c56f20
00000000000000d8
GPR28:
c000000000cd5058
0000000000000000
c000000001454ca8
c0000007ca183a08
[ 0.897856] NIP [
c00000000046a1f0
] .kobject_put+0xa0/0xb0
[ 0.897863] LR [
c00000000046a1ec
] .kobject_put+0x9c/0xb0
[ 0.897868] Call Trace:
[ 0.897874] [
c0000007ca183840
] [
c00000000046a1ec
] .kobject_put+0x9c/0xb0 (unreliable)
[ 0.897885] [
c0000007ca1838c0
] [
c000000000743f9c
] .of_node_put+0x2c/0x50
[ 0.897894] [
c0000007ca183940
] [
c000000000c83954
] .test_of_node+0x1dc/0x208
[ 0.897902] [
c0000007ca183b80
] [
c000000000c839a4
] .msi_bitmap_selftest+0x24/0x38
[ 0.897913] [
c0000007ca183bf0
] [
c00000000000bb34
] .do_one_initcall+0x144/0x200
[ 0.897922] [
c0000007ca183ce0
] [
c000000000c748e4
] .kernel_init_freeable+0x2b4/0x394
[ 0.897931] [
c0000007ca183db0
] [
c00000000000c374
] .kernel_init+0x24/0x130
[ 0.897940] [
c0000007ca183e30
] [
c00000000000a2f4
] .ret_from_kernel_thread+0x5c/0x68
[ 0.897947] Instruction dump:
[ 0.897952]
7fe3fb78
38210080
e8010010
ebe1fff8
7c0803a6
4800014c
e89f0000
3c62ff6e
[ 0.897971]
7fe5fb78
3863a950
48485279
60000000
<
0fe00000
>
39000000
393f0038
4bffff80
[ 0.897992] ---[ end trace
1eeffdb9f825a556
]---
Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/sysdev/msi_bitmap.c
patch
|
blob
|
history
diff --git
a/arch/powerpc/sysdev/msi_bitmap.c
b/arch/powerpc/sysdev/msi_bitmap.c
index
8ba6042
..
2ff6302
100644
(file)
--- a/
arch/powerpc/sysdev/msi_bitmap.c
+++ b/
arch/powerpc/sysdev/msi_bitmap.c
@@
-202,7
+202,7
@@
void __init test_of_node(void)
/* There should really be a struct device_node allocator */
memset(&of_node, 0, sizeof(of_node));
-
kref_init(&of_node.kobj.kref
);
+
of_node_init(&of_node
);
of_node.full_name = node_name;
check(0 == msi_bitmap_alloc(&bmp, size, &of_node));