-
问题描述:在编写Linux驱动程序和测试程序的时候,涉及到了使用 ioctl 进行用户程序和驱动程序的交互问题,代码中的switch case 中一共包含12个选项,分别为1~12的 int 类型。其中cmd = 2时就一直调用不到而是直接release,其余数字都可以正常调用。
-
分析:
(1)刚开始以为是用户程序和测试程序所定义cmd的时候,命名名称不一样导致的,后检查发现并无错误;
(2)猜测是用户程序或测试程序中的 ioctl 马虎出错导致,后发现程序并无错误。
(3)测试程序调用ioctl 的该选项是返回-1, 然后添加错误与输出代码详情,返