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.

irq gpio_free broken

Hi all,

i want to use gpio0_4 of dm8168 as irq input,

first init irq in open funtion

{

fpga_dev.irq_num = gpio_to_irq(4);
  request_irq(fpga_dev.irq_num, fpga_uart_interrupt, 0, "uart_irq", &fpga_dev);
  set_irq_type(fpga_dev.irq_num, IRQ_TYPE_EDGE_RISING);

}

when exit

static void __exit fpga_exit(void)
{
    printk(KERN_INFO "fpga_exit()\n");

    device_destroy(fpga_dev.class, fpga_dev.devt);
    class_destroy(fpga_dev.class);

    cdev_del(&fpga_dev.cdev);
    unregister_chrdev_region(fpga_dev.devt, 1);

    release_mem_region(mem_base, SZ_16M);
    gpmc_cs_free(GPMC_CS);
    iounmap(fpga_base);

    if (fpga_dev.buffer)
        kfree(fpga_dev.buffer);

     free_irq(fpga_dev.irq_num, NULL);
     gpio_free(4);
}

when i run rmmod gpmc_fpga.ko,

the module broken and print infomation in picture

could you tell me is there any other things i have to do to exit module ?

best regards

xavier