This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

What happens if we cahnge ccdc_enable() function of DM368?

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