【Linux驱动开发】free_irq时发生错误:Trying to free already-free IRQ

在卸载驱动时,出现以下错误提示:

WARNING: CPU: 0 PID: 81 at kernel/irq/manage.c:1346 ...

Trying to free already-free IRQ

...

表示中断没有释放成功,磨了很久后发现,中断申请函数request_irq()与中断释放函数free_irq()的最后一个参数(void *dev 设备结构体)要保持一致,必须是同一个指针,参数传递过来的都不算。

int request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev)
void free_irq(unsigned int irq, void *dev)

以上两个函数,在使用的时候,最后一个参数必须保持一致,问题解决。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章