From: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
To: video4linux-list@redhat.com
Cc: g.liakhovetski@pengutronix.de
Subject: SoC camera crashes when host is not module
Date: Thu, 12 Jun 2008 17:09:12 +0300 [thread overview]
Message-ID: <48512E08.6020608@teltonika.lt> (raw)
I am writing driver for i.MX CSI interface... And while I was loading my
driver with insmod everything was OK, but when I compiled it into the
kernel it crashed. I believe that it is a bug in the soc_camera. Seems
like device_register is being used without kref initialization.
[42949374.020000] WARNING: at lib/kref.c:43 kref_get+0x48/0x50()
[42949374.020000] Modules linked in:
[42949374.030000] [<c001c908>] (dump_stack+0x0/0x14) from [<c002d90c>]
(warn_on_slowpath+0x4c/0x68)
[42949374.040000] [<c002d8c0>] (warn_on_slowpath+0x0/0x68) from
[<c00c5134>] (kref_get+0x48/0x50)
[42949374.050000] r6:c01ce6dc r5:c01ce55c r4:c01ce6e0
[42949374.050000] [<c00c50ec>] (kref_get+0x0/0x50) from [<c00c4870>]
(kobject_get+0x18/0x20)
[42949374.060000] r4:c01ce6dc
[42949374.060000] [<c00c4858>] (kobject_get+0x0/0x20) from [<c00c4950>]
(kobject_add_internal+0x64/0x1f8)
[42949374.070000] r4:c01ce55c
[42949374.070000] [<c00c48ec>] (kobject_add_internal+0x0/0x1f8) from
[<c00c4b94>] (kobject_add_varg+0x44/0x54)
[42949374.080000] r8:c01ce4f4 r7:00000000 r6:c01ce6dc r5:c01ce55c
r4:00000000
[42949374.090000] [<c00c4b50>] (kobject_add_varg+0x0/0x54) from
[<c00c4eac>] (kobject_add+0x40/0x68)
[42949374.100000] r6:c01ce580 r5:c01c8aec r4:c01ce4f4
[42949374.110000] [<c00c4e6c>] (kobject_add+0x0/0x68) from [<c00e292c>]
(device_add+0x7c/0x4f4)
[42949374.110000] r3:c01ce580 r2:c019f4dc
[42949374.120000] [<c00e28b0>] (device_add+0x0/0x4f4) from [<c00e2dc0>]
(device_register+0x1c/0x20)
[42949374.130000] [<c00e2da4>] (device_register+0x0/0x20) from
[<c00f74f0>] (soc_camera_host_register+0xc0/0x19c)
[42949374.140000] r4:c01ce4ec
[42949374.140000] [<c00f7430>] (soc_camera_host_register+0x0/0x19c) from
[<c0014054>] (imx_camera_probe+0x260/0x380)
[42949374.150000] r8:00000006 r7:00000000 r6:c01c8778 r5:c01c8aec
r4:c3c96cfc
[42949374.160000] [<c0013df4>] (imx_camera_probe+0x0/0x380) from
[<c00e573c>] (platform_drv_probe+0x20/0x24)
[42949374.170000] [<c00e571c>] (platform_drv_probe+0x0/0x24) from
[<c00e4a2c>] (driver_probe_device+0xb0/0x1b4)
[42949374.180000] [<c00e497c>] (driver_probe_device+0x0/0x1b4) from
[<c00e4b98>] (__driver_attach+0x68/0x6c)
[42949374.190000] r8:c01cdea4 r7:c00e4b30 r6:c01ce4b0 r5:c01c8828
r4:c01c8780
[42949374.200000] [<c00e4b30>] (__driver_attach+0x0/0x6c) from
[<c00e4124>] (bus_for_each_dev+0x5c/0x88)
[42949374.200000] r6:c01ce4b0 r5:c3c0ded0 r4:00000000
[42949374.210000] [<c00e40c8>] (bus_for_each_dev+0x0/0x88) from
[<c00e488c>] (driver_attach+0x20/0x28)
[42949374.220000] r7:c0011874 r6:c01ce4b0 r5:c01ce4b0 r4:c3c96be8
[42949374.230000] [<c00e486c>] (driver_attach+0x0/0x28) from
[<c00e4568>] (bus_add_driver+0xa8/0x1dc)
[42949374.230000] [<c00e44c0>] (bus_add_driver+0x0/0x1dc) from
[<c00e4d34>] (driver_register+0x54/0x130)
[42949374.240000] [<c00e4ce0>] (driver_register+0x0/0x130) from
[<c00e59c4>] (platform_driver_register+0x6c/0x88)
[42949374.250000] r8:c3c0c000 r7:c0011874 r6:00000000 r5:00000000
r4:c0016404
[42949374.260000] [<c00e5958>] (platform_driver_register+0x0/0x88) from
[<c0011888>] (imx_camera_init+0x14/0x1c)
[42949374.270000] [<c0011874>] (imx_camera_init+0x0/0x1c) from
[<c00087ac>] (kernel_init+0x78/0x290)
[42949374.280000] [<c0008734>] (kernel_init+0x0/0x290) from [<c0030dfc>]
(do_exit+0x0/0x614)
[42949374.290000] ---[ end trace 362b35ef15250fa4 ]---
[42949374.290000] kobject: 'camera_host0' (c01ce55c):
kobject_add_internal: parent: '<NULL>', set: 'devices'
[42949374.300000] Unable to handle kernel NULL pointer dereference at
virtual address 00000020
[42949374.310000] pgd = c0004000
[42949374.320000] [00000020] *pgd=00000000
[42949374.320000] Internal error: Oops: 5 [#1]
[42949374.320000] Modules linked in:
[42949374.320000] CPU: 0 Tainted: G W (2.6.26-rc4 #24)
[42949374.320000] PC is at sysfs_addrm_start+0x34/0x9c
[42949374.320000] LR is at sysfs_addrm_start+0x28/0x9c
[42949374.320000] pc : [<c00a4ffc>] lr : [<c00a4ff0>] psr: 60000013
[42949374.320000] sp : c3c0dcd8 ip : c3c0dcd8 fp : c3c0dcec
[42949374.320000] r10: c01c8780 r9 : c01ce55c r8 : c3c0dd24
[42949374.320000] r7 : 00000000 r6 : c01ce55c r5 : c3c0dcf0 r4 :
00000000
[42949374.320000] r3 : 00000000 r2 : c01d4220 r1 : ffffffd0 r0 :
c3c03004
[42949374.320000] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM
Segment kernel
[42949374.320000] Control: 0000317f Table: 08004000 DAC: 00000017
[42949374.320000] Process swapper (pid: 1, stack limit = 0xc3c0c260)
[42949374.320000] Stack: (0xc3c0dcd8 to 0xc3c0e000)
[42949374.320000] dcc0:
c3c0dcf0 c3c96d94
[42949374.320000] dce0: c3c0dd20 c3c0dcf0 c00a5580 c00a4fd8 00000000
00000000 00000000 00000000
[42949374.320000] dd00: c01ce55c c01ce55c c01ce6dc 00000000 c01ce6dc
c3c0dd38 c3c0dd24 c00a561c
[42949374.320000] dd20: c00a5544 c00c49cc c01ce55c c3c0dd64 c3c0dd3c
c00c49e0 c00a55f4 00000000
[42949374.320000] dd40: c3c07394 00000000 c01ce55c c01ce6dc 00000000
c01ce4f4 c3c0dd80 c3c0dd68
[42949374.320000] dd60: c00c4b94 c00c48fc c01ce4f4 c01c8aec c01ce580
c3c0dd94 c3c0dd84 c00c4eac
[42949374.320000] dd80: c00c4b60 c3c0dd9c c3c0ddd0 c3c0dda0 c00e292c
c00c4e80 c019f4dc c01ce580
[42949374.320000] dda0: c01c8780 c3c0ddd0 c01ce4f4 c01c8aec c01c8778
00000000 c01ce4f4 c4850000
[42949374.320000] ddc0: c01c8780 c3c0dde4 c3c0ddd4 c00e2dc0 c00e28c0
c01ce4ec c3c0de08 c3c0dde8
[42949374.320000] dde0: c00f74f0 c00e2db4 c3c96cfc c01c8aec c01c8778
00000000 00000006 c3c0de7c
[42949374.320000] de00: c3c0de0c c0014054 c00f7440 c00c79e4 c3c0de44
c3c96ccc c3c0de40 c3c0de28
[42949374.320000] de20: c3c0de44 00000000 c3c96ccc c3c23418 e000928c
c4850000 c4850008 c00a5fbc
[42949374.320000] de40: c00a5254 c3c23418 00000000 00000000 00000001
c01c8780 c01ce4b0 c01ce4b0
[42949374.320000] de60: c00e4b30 c01d6350 00000000 00000000 c3c0de8c
c3c0de80 c00e573c c0013e04
[42949374.320000] de80: c3c0deb0 c3c0de90 c00e4a2c c00e572c c01c8780
c01c8828 c01ce4b0 c00e4b30
[42949374.320000] dea0: c01cdea4 c3c0decc c3c0deb4 c00e4b98 c00e498c
00000000 c3c0ded0 c01ce4b0
[42949374.320000] dec0: c3c0def8 c3c0ded0 c00e4124 c00e4b40 c3c07818
c3c07818 c01c87c8 c3c96be8
[42949374.320000] dee0: c01ce4b0 c01ce4b0 c0011874 c3c0df08 c3c0defc
c00e488c c00e40d8 c3c0df34
[42949374.320000] df00: c3c0df0c c00e4568 c00e487c c01a179c c0016404
c01ce4b0 00000000 c0011874
[42949374.320000] df20: c3c0c000 c0015168 c3c0df58 c3c0df38 c00e4d34
c00e44d0 c0016404 00000000
[42949374.320000] df40: 00000000 c0011874 c3c0c000 c3c0df68 c3c0df5c
c00e59c4 c00e4cf0 c3c0df78
[42949374.320000] df60: c3c0df6c c0011888 c00e5968 c3c0dff4 c3c0df7c
c00087ac c0011884 bee40f34
[42949374.320000] df80: c3c0dfa4 c3c0c000 00000000 c3c0df00 c3c0df9c
c002af78 c002ac3c 00000000
[42949374.320000] dfa0: 00000000 c3c0dfb0 c0018aa4 c002af68 00000000
00000000 c0008734 c0030dfc
[42949374.320000] dfc0: 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[42949374.320000] dfe0: 00000000 00000000 00000000 c3c0dff8 c0030dfc
c0008744 00000000 02000000
[42949374.320000] Backtrace:
[42949374.320000] [<c00a4fc8>] (sysfs_addrm_start+0x0/0x9c) from
[<c00a5580>] (create_dir+0x4c/0xb0)
[42949374.320000] r5:c3c96d94 r4:c3c0dcf0
[42949374.320000] [<c00a5534>] (create_dir+0x0/0xb0) from [<c00a561c>]
(sysfs_create_dir+0x38/0x4c)
[42949374.320000] r8:c01ce6dc r7:00000000 r6:c01ce6dc r5:c01ce55c
r4:c01ce55c
[42949374.320000] [<c00a55e4>] (sysfs_create_dir+0x0/0x4c) from
[<c00c49e0>] (kobject_add_internal+0xf4/0x1f8)
[42949374.320000] r4:c01ce55c
[42949374.320000] [<c00c48ec>] (kobject_add_internal+0x0/0x1f8) from
[<c00c4b94>] (kobject_add_varg+0x44/0x54)
[42949374.320000] r8:c01ce4f4 r7:00000000 r6:c01ce6dc r5:c01ce55c
r4:00000000
[42949374.320000] [<c00c4b50>] (kobject_add_varg+0x0/0x54) from
[<c00c4eac>] (kobject_add+0x40/0x68)
[42949374.320000] r6:c01ce580 r5:c01c8aec r4:c01ce4f4
[42949374.320000] [<c00c4e6c>] (kobject_add+0x0/0x68) from [<c00e292c>]
(device_add+0x7c/0x4f4)
[42949374.320000] r3:c01ce580 r2:c019f4dc
[42949374.320000] [<c00e28b0>] (device_add+0x0/0x4f4) from [<c00e2dc0>]
(device_register+0x1c/0x20)
[42949374.320000] [<c00e2da4>] (device_register+0x0/0x20) from
[<c00f74f0>] (soc_camera_host_register+0xc0/0x19c)
[42949374.320000] r4:c01ce4ec
[42949374.320000] [<c00f7430>] (soc_camera_host_register+0x0/0x19c) from
[<c0014054>] (imx_camera_probe+0x260/0x380)
[42949374.320000] r8:00000006 r7:00000000 r6:c01c8778 r5:c01c8aec
r4:c3c96cfc
[42949374.320000] [<c0013df4>] (imx_camera_probe+0x0/0x380) from
[<c00e573c>] (platform_drv_probe+0x20/0x24)
[42949374.320000] [<c00e571c>] (platform_drv_probe+0x0/0x24) from
[<c00e4a2c>] (driver_probe_device+0xb0/0x1b4)
[42949374.320000] [<c00e497c>] (driver_probe_device+0x0/0x1b4) from
[<c00e4b98>] (__driver_attach+0x68/0x6c)
[42949374.320000] r8:c01cdea4 r7:c00e4b30 r6:c01ce4b0 r5:c01c8828
r4:c01c8780
[42949374.320000] [<c00e4b30>] (__driver_attach+0x0/0x6c) from
[<c00e4124>] (bus_for_each_dev+0x5c/0x88)
[42949374.320000] r6:c01ce4b0 r5:c3c0ded0 r4:00000000
[42949374.320000] [<c00e40c8>] (bus_for_each_dev+0x0/0x88) from
[<c00e488c>] (driver_attach+0x20/0x28)
[42949374.320000] r7:c0011874 r6:c01ce4b0 r5:c01ce4b0 r4:c3c96be8
[42949374.320000] [<c00e486c>] (driver_attach+0x0/0x28) from
[<c00e4568>] (bus_add_driver+0xa8/0x1dc)
[42949374.320000] [<c00e44c0>] (bus_add_driver+0x0/0x1dc) from
[<c00e4d34>] (driver_register+0x54/0x130)
[42949374.320000] [<c00e4ce0>] (driver_register+0x0/0x130) from
[<c00e59c4>] (platform_driver_register+0x6c/0x88)
[42949374.320000] r8:c3c0c000 r7:c0011874 r6:00000000 r5:00000000
r4:c0016404
[42949374.320000] [<c00e5958>] (platform_driver_register+0x0/0x88) from
[<c0011888>] (imx_camera_init+0x14/0x1c)
[42949374.320000] [<c0011874>] (imx_camera_init+0x0/0x1c) from
[<c00087ac>] (kernel_init+0x78/0x290)
[42949374.320000] [<c0008734>] (kernel_init+0x0/0x290) from [<c0030dfc>]
(do_exit+0x0/0x614)
[42949374.320000] Code: eb030471 e59f2064 e1a03004 e5920000 (e5941020)
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
next reply other threads:[~2008-06-12 14:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-12 14:09 Paulius Zaleckas [this message]
2008-06-12 15:51 ` SoC camera crashes when host is not module Guennadi Liakhovetski
2008-06-16 14:55 ` Robert Schwebel
[not found] ` <485681DE.4010701@teltonika.lt>
2008-06-16 15:19 ` Robert Schwebel
2008-06-16 15:25 ` Guennadi Liakhovetski
2008-06-16 15:36 ` Robert Schwebel
[not found] ` <48568C5E.6050800@teltonika.lt>
2008-06-16 16:09 ` Robert Schwebel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48512E08.6020608@teltonika.lt \
--to=paulius.zaleckas@teltonika.lt \
--cc=g.liakhovetski@pengutronix.de \
--cc=video4linux-list@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.