wait_event_interruptible_timeout(wq,condition,timeout)轮询循环,但没有被唤醒

时间:2018-03-21 13:16:06

标签: linux-device-driver

我已经在内核3.6.11中实现了以下代码(在ARM架构中进行了修饰):

wait_queue_head_t i2c_waitQ;
init_waitqueue_head( &i2c_waitQ );
...
wait_event_interruptible_timeout( i2c_waitQ, !(fpga_register & 0x10000000), 
1000 )

在ISR中,我删除了相关的唤醒功能

//wake_up_interruptible( &i2c_waitQ );

到处我都读到了关于这个功能的内容:

每次等待等待wq被唤醒时都会检查条件

但我没有唤醒等待时间,并且条件(FPGA寄存器)将轮询循环。

可能是什么原因?

0 个答案:

没有答案