mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-09-18 18:15:59 +00:00
I got below warning when running 2.6.19-rc5-mm1 on my ia64 machine.
WARNING at lib/kobject.c:172 kobject_init()
Call Trace:
[<a0000001000137c0>] show_stack+0x40/0xa0
sp=e0000002ff9f7bc0 bsp=e0000002ff9f0d10
[<a000000100013850>] dump_stack+0x30/0x60
sp=e0000002ff9f7d90 bsp=e0000002ff9f0cf8
[<a000000100407bb0>] kobject_init+0x90/0x160
sp=e0000002ff9f7d90 bsp=e0000002ff9f0cd0
[<a0000001005ae080>] device_initialize+0x40/0x1c0
sp=e0000002ff9f7da0 bsp=e0000002ff9f0cb0
[<a0000001005b88c0>] platform_device_register+0x20/0x60
sp=e0000002ff9f7dd0 bsp=e0000002ff9f0c90
[<a000000100592560>] try_smi_init+0xbc0/0x11e0
sp=e0000002ff9f7dd0 bsp=e0000002ff9f0c50
[<a000000100594900>] init_ipmi_si+0xaa0/0x12e0
sp=e0000002ff9f7de0 bsp=e0000002ff9f0bd8
[<a000000100009910>] init+0x350/0x780
sp=e0000002ff9f7e00 bsp=e0000002ff9f0ba8
[<a000000100011d30>] kernel_thread_helper+0x30/0x60
sp=e0000002ff9f7e30 bsp=e0000002ff9f0b80
[<a0000001000090c0>] start_kernel_thread+0x20/0x40
sp=e0000002ff9f7e30 bsp=e0000002ff9f0b80
WARNING at lib/kobject.c:172 kobject_init()
Call Trace:
[<a0000001000137c0>] show_stack+0x40/0xa0
sp=e0000002ff9f7b40 bsp=e0000002ff9f0db0
[<a000000100013850>] dump_stack+0x30/0x60
sp=e0000002ff9f7d10 bsp=e0000002ff9f0d98
[<a000000100407bb0>] kobject_init+0x90/0x160
sp=e0000002ff9f7d10 bsp=e0000002ff9f0d70
[<a0000001005ae080>] device_initialize+0x40/0x1c0
sp=e0000002ff9f7d20 bsp=e0000002ff9f0d50
[<a0000001005b88c0>] platform_device_register+0x20/0x60
sp=e0000002ff9f7d50 bsp=e0000002ff9f0d30
[<a00000010058ac00>] ipmi_register_smi+0xcc0/0x18e0
sp=e0000002ff9f7d50 bsp=e0000002ff9f0c90
[<a000000100592600>] try_smi_init+0xc60/0x11e0
sp=e0000002ff9f7dd0 bsp=e0000002ff9f0c50
[<a000000100594900>] init_ipmi_si+0xaa0/0x12e0
sp=e0000002ff9f7de0 bsp=e0000002ff9f0bd8
[<a000000100009910>] init+0x350/0x780
sp=e0000002ff9f7e00 bsp=e0000002ff9f0ba8
[<a000000100011d30>] kernel_thread_helper+0x30/0x60
sp=e0000002ff9f7e30 bsp=e0000002ff9f0b80
[<a0000001000090c0>] start_kernel_thread+0x20/0x40
sp=e0000002ff9f7e30 bsp=e0000002ff9f0b80
The root cause is the device struct is initialized twice.
If the device is allocated dynamically by platform_device_alloc,
platform_device_alloc will initialize struct device, then,
platform_device_add should be used to register the device.
The difference between platform_device_register and platform_device_add is
platform_device_register will initiate the device while platform_device_add
won't.
Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
Cc: Corey Minyard <minyard@acm.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
History
|
|
|---|---|---|
| .. | ||
| acorn | ||
| acpi | ||
| amba | ||
| ata | ||
| atm | ||
| base | ||
| block | ||
| bluetooth | ||
| cdrom | ||
| char | ||
| clocksource | ||
| connector | ||
| cpufreq | ||
| crypto | ||
| dio | ||
| dma | ||
| edac | ||
| eisa | ||
| fc4 | ||
| firmware | ||
| hwmon | ||
| i2c | ||
| ide | ||
| ieee1394 | ||
| infiniband | ||
| input | ||
| isdn | ||
| leds | ||
| macintosh | ||
| mca | ||
| md | ||
| media | ||
| message | ||
| mfd | ||
| misc | ||
| mmc | ||
| mtd | ||
| net | ||
| nubus | ||
| oprofile | ||
| parisc | ||
| parport | ||
| pci | ||
| pcmcia | ||
| pnp | ||
| rapidio | ||
| rtc | ||
| s390 | ||
| sbus | ||
| scsi | ||
| serial | ||
| sh | ||
| sn | ||
| spi | ||
| tc | ||
| telephony | ||
| usb | ||
| video | ||
| w1 | ||
| zorro | ||
| Kconfig | ||
| Makefile | ||