linux - i2c 访问用户空间问题,如何解决这个问题..?

标签 linux linux-kernel linux-device-driver embedded-linux i2c

WARNING: at kernel/irq/manage.c:274 0xa01aa01b()                                
Unbalanced enable for IRQ 10                                                    
Modules linked in:                                                              
Backtrace: no frame pointer                                                     
---[ end trace 5cce32c8b5df3d34 ]--- 

当我运行我的应用程序时出现此错误这是什么意思以及如何解决..?请详细指导我。

最佳答案

查看内核源码( kernel/irq/manage.c:274 ),我们可以看到这个警告打印是在enable_irq()中触发的。当试图启用一个已经启用的 IRQ 时会发生这种情况,即没有先禁用它。

如果由于运行某些用户空间程序而收到此警告,则需要检查与此用户空间程序交互的驱动程序的逻辑并修复不必要的 启用该驱动程序中的 IRQ 10

除了污染内核日志之外,忽略此警告非常安全,因为它不会影响即时功能。但是,它确实表明您的程序(或底层驱动程序)的状态机逻辑中存在更深层次的问题。

关于linux - i2c 访问用户空间问题,如何解决这个问题..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17851793/

相关文章:

c++ - 如何在 C 中找到可执行文件的位置?

linux - 如何通过选择打开给定位置的鹦鹉螺

c - 僵尸进程在其父进程死亡后去了哪里?

c - 什么是内核线程?

linux - mmap:在用户空间中映射一个用 kmalloc 分配的内核缓冲区

linux-kernel - 什么是设备树中的 reg 属性?

android - 内核模块在 Android 设备上找不到固件文件;它应该在哪里?

python - 具有多个 Django 实例的 celery

java - 使用 ffmpeg android 在视频上添加自定义日期

linux - 可变上下文切换时间