平滑重启失败概率性出现风扇满转无法恢复问题分析
更新时间: 2026/06/02
在Gitcode上查看源码

问题背景

  • 单板类型:NA;
  • 软件版本:openUBMC 26.4.0.B001;
  • 涉及功能:平滑启动,风扇;
  • 触发条件:平滑重启失败,查看风扇转速;
  • 业务表现:预期风扇满转后可恢复;实际为风扇满转不可恢复。

问题复现步骤

脚本执行平滑重启,观察风扇转速情况。

关键日志信息

app.log信息:

定位过程

一键收集日志可看出,reboot cancel后风扇level达到100,根据该日志从组件thermal_mgmt的代码分析可知,此时风扇转速设置尚在prepare阶段,而代码中风扇的prepare阶段存在协程切换操作,如果此时取消操作,prepare阶段尚未完成,风扇转速不会恢复,会一直高速运转。

问题原因

thermal_mgmt风扇转速设置prepare阶段存在协程切换动作,当prepare还未执行完成时,进行取消操作,导致风扇转速无法恢复。

解决方案

thermal_mgmt组件执行重启取消操作时,必须保证prepare阶段完成执行,若没有执行完成,则需要等待完成后再进行其他操作。

PR链接

gitcode