gpt4 book ai didi

linux - 执行 thermal_zone_device_unregister() 时内核崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:33:01 25 4
gpt4 key购买 nike

我正在尝试使用内核模块在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com