Other Parts Discussed in Thread: TVP5146
Hi All,
We are observing in our application that uses the previewer to do colorspace conversion from raw RBG -> YUV in our DM6446 based system, that it would caused a kernel panic/oops when at the same time, we are transmitting several MB files via ftp on either a wifi or cellular connection.
Originally we thought that it was caused by our wifi and cellular modem driver, but when I disable the call to the previewer while our system is transmitting files, our system would never crash. Hopefully somebody has a solution to this problem :).
We are using MontaVista 5.0 (linux 2.6.18) + dvsdk_2_00_00_18.
thanks!
Below is the stack trace:
BUG: scheduling while atomic: Camera/0x00000001/764, CPU#0
Unable to handle kernel NULL pointer dereference at virtual address 00000004
pgd = c6390000
[00000004] *pgd=848ff031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: rt2880_iNIC dsplinkk cmemk gpio_usr hso davinci_aew_driver davinci_spi_master_dma davinci_previewer_driver davinci_capture mt9v024_drv tvp5146 mt9t001
CPU: 0
PC is at dequeue_task+0xc/0xa0
LR is at deactivate_task+0x38/0x44
pc : [<c0040d54>] lr : [<c0040e68>] Tainted: PF
sp : c6995fc0 ip : c6995fd0 fp : c6995fcc
r10: 0b532b80 r9 : 0000001b r8 : aefe0500
r7 : ffffffff r6 : c6821040 r5 : c6996000 r4 : c6821040
r3 : 0000018c r2 : 000008c0 r1 : 00000000 r0 : c6821040
Flags: nzCv IRQs off FIQs on Mode SVC_32 Segment user
Control: 5317F
Table: 86390000 DAC: 00000015
Process Camera (pid: 764, stack limit = 0xc6994258)
Stack: (0xc6995fc0 to 0xc6996000)
5fc0: c6995fe4 c6995fd0 c0040e68 c0040d58 c023c01c c023c01c c6996024 c6995fe8
5fe0: c023b9f0 c0040e40 00000000 000005ea 00000001 c6821150 00000000 00000000
Backtrace:
[<c0040d48>] (dequeue_task+0x0/0xa0) from [<c0040e68>] (deactivate_task+0x38/0x44)
[<c0040e30>] (deactivate_task+0x0/0x44) from [<c023b9f0>] (__schedule+0x1d0/0x708)
r4 = C023C01C
[<c023b820>] (__schedule+0x0/0x708) from [<c023c01c>] (preempt_schedule+0x68/0xac)
[<c023bfb4>] (preempt_schedule+0x0/0xac) from [<c01d47dc>] (__qdisc_run+0x94/0x220)
r7 = C2429774 r6 = 00000000 r5 = C55EA000 r4 = C6996000
[<c01d4748>] (__qdisc_run+0x0/0x220) from [<c01c61a8>] (dev_queue_xmit+0x160/0x2f4)
[<c01c6048>] (dev_queue_xmit+0x0/0x2f4) from [<c0222d90>] (br_dev_queue_push_xmit+0x90/0x9c)
r6 = C2429774 r5 = C2516280 r4 = C2429774
[<c0222d00>] (br_dev_queue_push_xmit+0x0/0x9c) from [<c0222dac>] (br_forward_finish+0x10/0x14)
r4 = C2429774
[<c0222d9c>] (br_forward_finish+0x0/0x14) from [<c0222e38>] (__br_deliver+0x1c/0x20)
[<c0222e1c>] (__br_deliver+0x0/0x20) from [<c0222e6c>] (br_deliver+0x30/0x40)
[<c0222e3c>] (br_deliver+0x0/0x40) from [<c0221e18>] (br_dev_xmit+0xa0/0xb8)
[<c0221d78>] (br_dev_xmit+0x0/0xb8) from [<c01c3bb4>] (dev_hard_start_xmit+0x1f4/0x28c)
r5 = C2429774 r4 = C2516000
[<c01c39c0>] (dev_hard_start_xmit+0x0/0x28c) from [<c01c6248>] (dev_queue_xmit+0x200/0x2f4)
r8 = C2429774 r7 = C62A7920 r6 = C2429774 r5 = C2429774
r4 = C2516000
[<c01c6048>] (dev_queue_xmit+0x0/0x2f4) from [<c01e2a04>] (ip_output+0x1dc/0x234)
r6 = C478CD60 r5 = C2429774 r4 = C6996000
[<c01e2828>] (ip_output+0x0/0x234) from [<c01e3420>] (ip_queue_xmit+0x430/0x498)
r7 = C32810C0 r6 = C2455A00 r5 = 00000020 r4 = C32810AC
[<c01e2ff0>] (ip_queue_xmit+0x0/0x498) from [<c01f387c>] (tcp_transmit_skb+0x760/0x7bc)
[<c01f311c>] (tcp_transmit_skb+0x0/0x7bc) from [<c01f55cc>] (__tcp_push_pending_frames+0x7c0/0x8bc)
[<c01f4e0c>] (__tcp_push_pending_frames+0x0/0x8bc) from [<c01f21b4>] (tcp_rcv_established+0x12c/0x798)
[<c01f2088>] (tcp_rcv_established+0x0/0x798) from [<c01f8a28>] (tcp_v4_do_rcv+0x34/0x3b0)
[<c01f89f4>] (tcp_v4_do_rcv+0x0/0x3b0) from [<c01fb810>] (tcp_v4_rcv+0xad4/0xb44)
[<c01fad3c>] (tcp_v4_rcv+0x0/0xb44) from [<c01ddc48>] (ip_local_deliver+0x138/0x22c)
[<c01ddb10>] (ip_local_deliver+0x0/0x22c) from [<c01de2f4>] (ip_rcv+0x454/0x49c)
[<c01ddea0>] (ip_rcv+0x0/0x49c) from [<c01c3814>] (netif_receive_skb+0x2d8/0x33c)
r8 = C556E4A0 r7 = C0305034 r6 = 00000008 r5 = C2516000
r4 = C030501C
[<c01c353c>] (netif_receive_skb+0x0/0x33c) from [<c0223894>] (br_pass_frame_up+0x38/0x3c)
r7 = C50F7832 r6 = C54F17A0 r5 = C2516280 r4 = 00000000
[<c022385c>] (br_pass_frame_up+0x0/0x3c) from [<c022398c>] (br_handle_frame_finish+0xf4/0x128)
[<c0223898>] (br_handle_frame_finish+0x0/0x128) from [<c0223b00>] (br_handle_frame+0x140/0x164)
r7 = C03050B4 r6 = C699647C r5 = C54F17A0 r4 = C50F7832
[<c02239c0>] (br_handle_frame+0x0/0x164) from [<bf060db4>] (my_br_handle_frame+0x6c/0x134 [rt2880_iNIC])
r8 = 60000013 r7 = C03050B4 r6 = C556E4A0 r5 = C699647C
r4 = C54F17A0
[<bf060d48>] (my_br_handle_frame+0x0/0x134 [rt2880_iNIC]) from [<c01c3740>] (netif_receive_skb+0x204/0x33c)
r7 = C03050B4 r6 = 00000001 r5 = C55EA000 r4 = C556E4A0
[<c01c353c>] (netif_receive_skb+0x0/0x33c) from [<c016d944>] (emac_poll+0x420/0x698)
r7 = C54F17A0 r6 = C550E200 r5 = C55EA280 r4 = FEC835E0
[<c016d524>] (emac_poll+0x0/0x698) from [<c01c5700>] (net_rx_action+0xac/0x1ac)
[<c01c5654>] (net_rx_action+0x0/0x1ac) from [<c004cae0>] (___do_softirq+0x5c/0xfc)
[<c004ca84>] (___do_softirq+0x0/0xfc) from [<c004cbb4>] (__do_softirq+0x34/0x50)
[<c004cb80>] (__do_softirq+0x0/0x50) from [<c004cf38>] (irq_exit+0x48/0x64)
r5 = C028C340 r4 = 0000000D
[<c004cef0>] (irq_exit+0x0/0x64) from [<c0033bc4>] (asm_do_IRQ+0x44/0x50)
[<c0033b80>] (asm_do_IRQ+0x0/0x50) from [<c0032a04>] (__irq_svc+0x44/0x70)
r6 = C0205005 r5 = FEC48000 r4 = FFFFFFFF
[<bf013700>] (prev_calculate_crop+0x0/0xc8 [davinci_previewer_driver]) from [<bf013b20>] (preview+0x50/0x280 [davinci_previewer_driver])
r4 = C6997EE8
[<bf013ad0>] (preview+0x0/0x280 [davinci_previewer_driver]) from [<bf01519c>] (previewer_ioctl+0x488/0x53c [davinci_previewer_driver])
[<bf014d14>] (previewer_ioctl+0x0/0x53c [davinci_previewer_driver]) from [<c00a2a74>] (do_ioctl+0x7c/0x98)
r6 = C0205005 r5 = 44217BB0 r4 = C57077C0
[<c00a29f8>] (do_ioctl+0x0/0x98) from [<c00a2d54>] (vfs_ioctl+0x2c4/0x2ec)
r6 = 44217BB0 r5 = 0000001D r4 = C57077C0
[<c00a2a90>] (vfs_ioctl+0x0/0x2ec) from [<c00a2de0>] (sys_ioctl+0x64/0x8c)
r9 = C6996000 r8 = C57077C0 r6 = C0205005 r5 = 44217BB0
r4 = 00000000
[<c00a2d7c>] (sys_ioctl+0x0/0x8c) from [<c0032e00>] (ret_fast_syscall+0x0/0x2c)
r8 = C0032FA8 r7 = 00000036 r6 = C0205005 r5 = 44217BB0
r4 = 000B0400
Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5913004)
26%
26%
27%
<6>note: Camera[764] exited with preempt_count 3
27%