diff options
author | Li Zhong <zhong@linux.vnet.ibm.com> | 2014-04-03 02:58:20 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-04-08 22:53:07 -0400 |
commit | e47ff70a56b04dcdc81685380f2acef4776fc60b (patch) | |
tree | c35424028474309cc3c81b7c696a67973211b8f0 /arch/powerpc/sysdev/msi_bitmap.c | |
parent | 1dc954bd2f85144b9a2959139d41a5f6b9b34712 (diff) |
powerpc: Use of_node_init() for the fakenode in msi_bitmap.c
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>
Diffstat (limited to 'arch/powerpc/sysdev/msi_bitmap.c')
-rw-r--r-- | arch/powerpc/sysdev/msi_bitmap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/msi_bitmap.c b/arch/powerpc/sysdev/msi_bitmap.c index 8ba60424be95..2ff630267e9e 100644 --- a/arch/powerpc/sysdev/msi_bitmap.c +++ b/arch/powerpc/sysdev/msi_bitmap.c | |||
@@ -202,7 +202,7 @@ void __init test_of_node(void) | |||
202 | 202 | ||
203 | /* There should really be a struct device_node allocator */ | 203 | /* There should really be a struct device_node allocator */ |
204 | memset(&of_node, 0, sizeof(of_node)); | 204 | memset(&of_node, 0, sizeof(of_node)); |
205 | kref_init(&of_node.kobj.kref); | 205 | of_node_init(&of_node); |
206 | of_node.full_name = node_name; | 206 | of_node.full_name = node_name; |
207 | 207 | ||
208 | check(0 == msi_bitmap_alloc(&bmp, size, &of_node)); | 208 | check(0 == msi_bitmap_alloc(&bmp, size, &of_node)); |