1. We change remove //msleep(100); in ccdc_enable of dm368 with dvsdk_2_10_01_18. Because we need use ccdc_enable() function for triigger a iamge, so use very oftenly,
Waht maybe happens?
static void ccdc_enable(int en)
{
if (!en) {
/* Before disable isif, disable all ISIF modules */
ccdc_disable_all_modules();
/* wait for next VD. Assume lowest scan rate is 12 Hz. So
* 100 msec delay is good enough
*/
}
//msleep(100); //??????????????????????????????
ccdc_merge(0x1, en, SYNCEN);
}
2. Our program will hang when run more than 12hours, the console prints information like this:
2.1
BUG: unbalanced irq-handler preempt count in timer_interrupt+0x0/0x28!
entered with 00010001, exited with c00437f7.
Unable to handle kernel paging request at virtual address e92dd800
Unable to handle kernel paging request at virtual address e89da824
Unable to handle kernel paging request at virtual address e89da824
2.2
Unable to handle kernel NULL pointer dereference at virtual address 00000040
Unable to handle kernel paging request at virtual address eb03eb98
Unable to handle kernel paging request at virtual address e89da824
Unable to handle kernel paging request at virtual address e89da824
2.3
BUG: unbalanced irq-handler preempt count in timer_interrupt+0x0/0x28!
entered with 00010001, exited with 004b73b2.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
Unable to handle kernel paging request at virtual address eb03eb98
Unable to handle kernel paging request at virtual address e89da824
Unable to handle kernel paging request at virtual address e89da824
But console print 2.1 more times.
How to deal with it?
Best regards,
zhou