kernel Panic in imx6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

kernel Panic in imx6

475 Views
mathew_k_t
Contributor II

Hi,

 

I'm using iMX6ULL custom board. In my application, I read data from two AFE4490 and iMX6 reads data registers after the ADC_READY interrupt(pulse width 0.24us). I configured ADC_READY pins as gpio-keys. In ISR, it generates a uevent as below

 

static void gpio_keys_gpio_work_func(struct work_struct *work)
{
    struct gpio_button_data *bdata =container_of(work, struct gpio_button_data, work.work);
    char *envp[2];
    char state_buf[10];

 

    if (bdata->irq == 36) {
        snprintf(state_buf, sizeof(state_buf),"STATE=%s", "1");
        envp[0] = state_buf;

 

        envp[1] = NULL;
        kobject_uevent_env(&bdata->input->dev.kobj, KOBJ_ONLINE, envp);
    }
}

 

iMX6 generates interrupts on ADC_READY signal.

 

image002.png

 

1. But i'm not getting any events at userspace. What's the issue in the configuration?

2. After 30 minutes, kernel panic occurs due to out of Memory issue. How to clear uevent buffer?

 

kernel panic.png

 

Best Regards

Labels (2)
0 Kudos
2 Replies

351 Views
igorpadykov
NXP Employee
NXP Employee

Hi mathew_k_t

one can try to decrease frequency of interrupt signal, make ISR as short as possible

and further debug it using AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors
https://www.nxp.com/docs/en/application-note/AN4553.pdf

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

351 Views
mathew_k_t
Contributor II

Hi,

Thank you Igor for your response.

We cannot reduce frequency of interrupt signal, this much samples are necessary for our application.

Could you suggest an idea to clear uevent buffer(to avoid out of memory issue)

0 Kudos