linux3.0下设备进入suspend模式产生的问题

[复制链接]
查看11 | 回复1 | 2021-1-27 06:30:16 | 显示全部楼层 |阅读模式
最近项目遇到1个问题:
在用户层fork出多个进程,这几个进程都调用了同1个设备驱动里的函数,
途中其中1个进程调用了该设备的suspend函数,设备进入suspend模式。
这之后其他进程如果调用驱动对该设备的寄存器进行读写操作的话就会导致内核崩溃。

尝试过把传进__pm_runtime_suspend函数的宏RPM_GET_PUT去掉,
这样内核不会去维护当前要休眠的设备的usage_count值,这样的话内核不会崩溃。
但在suspend处理过程中也没找到针对设备I/O内存的处理..不明白为什么不让读写寄存器。
更奇怪的是之前在别的平台上同样这么干过也没问题,难道跟smp有关系么。
这次的作业平台是omap4460,kernel3.0.21。
请各位大虾指点1下。
btw,为什么有些文件里的某些函数中加log会导致内核起不来?(比方说在runtime.c的__pm_runtime_idle()里)
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:30:16 | 显示全部楼层
搞这么前卫的IC呀,听说TI双核有很多问题的,他们自己都没提供开发板出来。楼主联系你一下,看你空间里的收件箱。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行