我正在学习Linux内核中的中断处理,并在下面的代码片段中尝试在IRQ2上注册一个虚拟irq处理程序。但是它似乎没有被注册,因为我看到了一个负的返回值和内核中的一条消息,如下面所示,这来自于试图执行free_irq()的清理函数下面是来自内核日志的printk,这表明它还没有注册:
Here with registering IRQ handler on
我读了一些相关的文章:You cannot sleep in an interrupt handler because interrupts do not have a backingThey must run (2)来自have a data structure describing the register info, s