Linux內核小筆記:spin_lock鎖內不能使用sleep休眠

有一個字符驅動,內部ioctl函數不一樣的分支均使用spin_lock和spin_unlock,以保證對外設操做的原子性。可是,有一個功能須要對一個GPIO引腳設置上下沿,因而就使用msplee來延時。結果應用層程序在多個線程中調用該驅動提供的ioctl接口時,發現系列卡死了,只能手動復位。原來不能在spin lock中使用sleep。函數 首先,執行了sleep,就可能切換到其它進程,此時,並無
相關文章
相關標籤/搜索