Linux内核小笔记:spin_lock锁内不能使用sleep休眠

有一个字符驱动,内部ioctl函数不一样的分支均使用spin_lock和spin_unlock,以保证对外设操做的原子性。可是,有一个功能须要对一个GPIO引脚设置上下沿,因而就使用msplee来延时。结果应用层程序在多个线程中调用该驱动提供的ioctl接口时,发现系列卡死了,只能手动复位。原来不能在spin lock中使用sleep。函数 首先,执行了sleep,就可能切换到其它进程,此时,并无
相关文章
相关标签/搜索