ENGR00295201 ipuv3: vdic: kernel dump when run deinterlace stress test
Kernel will dump when run deinterlace stress test.
It is caused by vditmpbuf being reallocated by another thread
when one thread accesses it.
Issue is fixed by putting these code in mutex.
Kernel dump log:
[Playing ][Vol=01][00:00:10/00:00:30][fps:32]Unable to handle kernel
paging request at virtual address
607d6085
pgd =
80004000
[
607d6085] *pgd=
00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 0 PID: 50 Comm: ipu2_task Not tainted
3.10.17-02308-g3700819 #28
task:
ac1dc700 ti:
ac1ba000 task.ti:
ac1ba000
PC is at __kmalloc+0x40/0x114
LR is at __kmalloc+0x14/0x114
pc : [<
800bbd40>] lr : [<
800bbd14>] psr:
200f0013
sp :
ac1bbbc8 ip :
008cc000 fp :
00001e40
r10:
ac772e00 r9 :
0057b255 r8 :
000000d0
r7 :
00000790 r6 :
ac773800 r5 :
607d6085 r4 :
ac001b00
r3 :
00000000 r2 :
814f92a0 r1 :
000000d0 r0 :
000398c9
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control:
10c53c7d Table:
3c4c004a DAC:
00000015
Process ipu2_task (pid: 50, stack limit = 0xac1ba238)
Stack: (0xac1bbbc8 to 0xac1bc000)
Signed-off-by: Sandor Yu <R01008@freescale.com>