微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在USB设备Linux内核模块中调用USB批量发送消息时出现问题

我有一个处理USB设备的内核模块。

发生这种情况的原因是,我可以成功地将USB批量消息发送到设备,但是该操作是在二进制属性的callback下进行的。

但是,当发生某些事情时,我需要做一个特定的操作。 发生这种情况时,我需要向设备发送批量消息。 发生的地方是自己的设备数据收入callback。 如果我在那个地方发送批量消息,我会感到内核恐慌。

有人能告诉我为什么吗?

在linux内核中,会不会打电话给kfree?

什么是vdso和vsyscall?

将内核添加到Windows启动菜单

如何在Linux源中find特定系统调用的定义?

如何走内核的VMA?

如果这不是一个适当的地方做这样的操作,我可以放心地做到这一点? 我怎样才能在另一个地方发出信号? 一个计时器?

请咨询有关这个具体问题。

在Windows和Linux系统中如何实现物理到虚拟的IRQ映射?

访问内核模式驱动程序中的用户模式内存

如何禁止从Linux内核模块访问键盘和鼠标?

一般保护的function是什么?

如何在Windows中创build“块设备”

我设法通过以下方法解决了我所面临的问题:

创建了一个工作任务

正在进行的处理放到工作任务程序中

每当我有足够的数据处理我需要的东西时,我都会安排这项工作。

我认为这种方法导致更好的设计,因为中断手柄花费的时间因此减少了。

我现在可以和平地调用usb_bulk_msg(...)因为我不再处于中断环境中。 这确实是个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐