我需要在USB内核模块中添加一个很短的延迟,以避免在小型嵌入式Linux设备启动时出现极其罕见的内核恐慌。下面是有问题的代码。如果我在代码中输入一个prink,设备就会在以前失败的地方成功运行一整晚。我想添加一个小的延迟,但是usleep_range和msleep会导致内核跟踪“调度时原子”。如何在这一段代码中添加延迟而不休眠呢?一段时间循环是实现它的方法吗?"r8a66597: Start USB Discover\n"); /
我有一个关于linux设备驱动程序的一般性问题。更常见的情况是,我弄不清楚在linux设备驱动程序中允许或不允许执行哪些操作?例如,下面的例子是不允许的?msleep(1000);printk(KERN_ALERT "faild to print\n";
ret = adc_get_val()*0.001