(1)             插入usb鼠标开机识别不到(如果不插鼠标,等开机之后再插上是ok的)

(2)             插入usb鼠标进入suspendwakeup识别不到

 

由于在UFN驱动在初始化之后,也就是在开启检测线程的时候,会先检测一下当前的插口状态并设置当前的状态值,然而之后的线程体(while)循环则是根据当前的状态来决定如何操作,所以第一个问题的解决办法是初始化状态到一个固定值,剩下的工作都交由主线程体来做。

 

根据以前的调试经验,在wakeup的时候,驱动中的线程体的wakeup要比对应的流驱动的powerup来的要早,所以需要一个全局的状态变量来记录当前是处于powerdown还是powerup状态。因为很多驱动中主线程的操作和powerdown以及powerup中的操作有冲突,所以要务必保证操作的顺序,这就是第二个问题的解决办法。