Linux下wait_for_completion引起的开机定屏

本文详细分析了一起因i2c卡死导致系统无法进入主界面的故障,通过排查发现是由于i2c1上的外设未上电,导致i2c信号被拉低,进而使系统在初始化摄像头时卡死。通过屏蔽i2c1,系统恢复正常。对比mtk和qcom平台,发现其驱动中使用了超时机制避免此类问题。

新的项目,编译代码,烧写到主板后,主板能起来,但就是进入不了主界面(通过vysor同屏查看)。这是比较少见的,怀疑是编译代码时哪里弄错了,但再三检查也没发现问题,将固件烧写到其他项目的主板上能正常起来,那就不是代码的问题了。

先看内核log,init进程一直在启动camera服务,但到了600s都没启动成功。

 查看死掉的进程

root@G480:/home/w# adb  shell  ps  -AT|grep -e "D" -e "Z" -e  "R"
USER           PID   TID  PPID     VSZ    RSS WCHAN            ADDR S CMD            
root            69    69     2       0      0 mbox_send_thread    0 D mbox-send-threa
root            72    72     2       0      0 monitor_irqs_change 0 D irqs_change
root           232   232     2       0      0 0                   0 R sugov:0
root           419   689     1 2424672   8708 poll_schedule_timeout 0 S SkDestroyListen
root           420  4678     1 5456024 177276 futex_wait_queue_me 0 S HeapT
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值