作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用内核模块在 sys/class/thermal 中安装虚拟热区设备。执行 insmod 以注册设备非常有效..
struct thermal_zone_device *tz_dev; //declared globally...
...
//in the init function
tz_dev = thermal_zone_device_register("tsensor", 2,NULL,&tsensor_ops, 0,0, 0,0);
其中 tsensor_ops 指向带有一堆虚拟回调函数的结构 thermal_zone_device_ops。
但是,当我使用以下代码执行 rmmod 时,
thermal_zone_device_unregister(tz_dev);
我收到一条消息说被杀死了!回复和 dmesg 给了我一些关于 NULL 指针的错误。我恢复的唯一方法是重新启动机器。有什么办法可以避免这种情况吗?
最佳答案
好的,我修好了。我的特定版本的 linux,thermal_sys 框架要求我们为 get_crit_temp 声明一个函数。如果您不定义它,它将在注销设备时尝试删除该设备文件,并且最终会出现 NULL 引用错误。注意这不适用于3.0以上的linux版本
关于linux - 执行 thermal_zone_device_unregister() 时内核崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23944432/
我正在尝试使用内核模块在 sys/class/thermal 中安装虚拟热区设备。执行 insmod 以注册设备非常有效.. struct thermal_zone_device *tz_dev;
我是一名优秀的程序员,十分优秀!