On a custom board based on DM355 processor, the kernel panics with the following messages:
Linux video capture interface: v2.00 vpfe_init vpfe-capture: vpss clock vpss_master enabled vpfe-capture: vpss clock vpss_slave enabled vpfe-capture vpfe-capture: v4l2 device registered vpfe-capture vpfe-capture: video device registered Unable to handle kernel NULL pointer dereference at virtual address 00000002 pgd = c0004000 [00000002] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT Modules linked in: CPU: 0 Not tainted (2.6.32-rc2-davinci1 #8) PC is at i2c_smbus_write_byte_data+0x18/0x44 LR is at dm355evm_msp_write+0x1c/0x24 pc : [<c01b6414>] lr : [<c0191e38>] psr: 60000013 sp : c3029df0 ip : c3029e38 fp : c3029e34 r10: 00000000 r9 : c0298bec r8 : c3ffcc1c r7 : c4bd7e00 r6 : c0298ce4 r5 : 00000000 r4 : c3ffcc00 r3 : c3029e04 r2 : 00000000 r1 : 00000008 r0 : 00000000 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 0005317f Table: 80004000 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc3028270) Stack: (0xc3029df0 to 0xc302a000) 9de0: 22222222 22222222 c02b1838 c02b1838 9e00: c3029e2c c3029e00 c01ec5b0 c005b5a8 a0000013 00000000 c3029e54 c3029e28 9e20: c008fa38 c014b734 c3029e44 c3029e38 c0191e38 c01b640c c3029e54 c3029e48 9e40: c002f4e0 c0191e2c c3029eac c3029e58 c001a17c c002f4a4 00000000 00000000 9e60: 00000001 00000000 00000000 00000001 c3085030 00000000 c3ffcc10 00000002 9e80: c3029e9c c0296a90 c0296a90 c02b3528 c02b3528 00000000 00000000 00000000 9ea0: c3029ebc c3029eb0 c018d874 c0019ca0 c3029edc c3029ec0 c018c8b8 c018d868 9ec0: c0296a90 c0296ac4 c02b3528 00000000 c3029efc c3029ee0 c018c9d0 c018c818 9ee0: 00000000 c02b3528 c018c968 00000000 c3029f24 c3029f00 c018c08c c018c978 9f00: c3004638 c3041990 c0142ab4 c02b3528 c4bd43c0 c02af458 c3029f34 c3029f28 9f20: c018c71c c018c048 c3029f64 c3029f38 c018b97c c018c70c c0252961 00000000 9f40: c02b3528 00000000 00000001 00000000 00000000 00000000 c3029f8c c3029f68 9f60: c018ccf0 c018b8e8 00000000 c0019c68 00000000 00000001 00000000 00000000 9f80: c3029f9c c3029f90 c018db1c c018cc50 c3029fac c3029fa0 c0019c84 c018dae0 9fa0: c3029fdc c3029fb0 c0023340 c0019c78 00000000 00000000 c3029fdc c3029fc8 9fc0: c001c540 00000000 00000000 00000000 c3029ff4 c3029fe0 c000846c c00232f0 9fe0: c003b7e4 00000000 00000000 c3029ff8 c003b7e4 c00083e0 00008000 00000000 Backtrace: [<c01b63fc>] (i2c_smbus_write_byte_data+0x0/0x44) from [<c0191e38>] (dm355evm_ms p_write+0x1c/0x24) [<c0191e1c>] (dm355evm_msp_write+0x0/0x24) from [<c002f4e0>] (dm355evm_setup_vid eo_input+0x4c/0x54) [<c002f494>] (dm355evm_setup_video_input+0x0/0x54) from [<c001a17c>] (vpfe_probe +0x4ec/0x730) [<c0019c90>] (vpfe_probe+0x0/0x730) from [<c018d874>] (platform_drv_probe+0x1c/0 x20) [<c018d858>] (platform_drv_probe+0x0/0x20) from [<c018c8b8>] (driver_probe_devic e+0xb0/0x160) [<c018c808>] (driver_probe_device+0x0/0x160) from [<c018c9d0>] (__driver_attach+ 0x68/0x8c) r7:00000000 r6:c02b3528 r5:c0296ac4 r4:c0296a90 [<c018c968>] (__driver_attach+0x0/0x8c) from [<c018c08c>] (bus_for_each_dev+0x54 /0x84) r6:00000000 r5:c018c968 r4:c02b3528 r3:00000000 [<c018c038>] (bus_for_each_dev+0x0/0x84) from [<c018c71c>] (driver_attach+0x20/0 x28) r6:c02af458 r5:c4bd43c0 r4:c02b3528 [<c018c6fc>] (driver_attach+0x0/0x28) from [<c018b97c>] (bus_add_driver+0xa4/0x2 1c) [<c018b8d8>] (bus_add_driver+0x0/0x21c) from [<c018ccf0>] (driver_register+0xb0/ 0x140) [<c018cc40>] (driver_register+0x0/0x140) from [<c018db1c>] (platform_driver_regi ster+0x4c/0x60) r8:00000000 r7:00000000 r6:00000001 r5:00000000 r4:c0019c68 r3:00000000 |
What could cause this problem? From looking at the backtrace it has something to do with vpfe.