[ 9.513384] BUG: sleeping function called from invalid context at /mnt/data/ailiving/Workfolder/carl/aili/d/d-2/sc60/kernel/msm-3.18/kernel/workqueue.c:2644
[ 9.513386] in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper/0
[ 9.513396] Preemption disabled at:[<ffffffc0000e7344>] cpu_startup_entry+0x33c/0x3a0
[ 9.513397]
[ 9.513404] ------------[ cut here ]------------
[ 9.513407] kernel BUG at /mnt/data/ailiving/Workfolder/carl/aili/d/d-2/sc60/kernel/msm-3.18/kernel/sched/core.c:10843!
[ 9.513409] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
[ 9.513412] Modules linked in:
[ 9.513417] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 3.18.31 #7
[ 9.513419] Hardware name: Qualcomm Technologies, Inc. MSM8953 + PMI8950 MTP (DT)
[ 9.513421] task: ffffffc00179c270 ti: ffffffc001788000 task.ti: ffffffc001788000
[ 9.513425] PC is at __might_sleep+0x15c/0x16c
[ 9.513428] LR is at __might_sleep+0x15c/0x16c
[ 9.513430] pc : [<ffffffc0000c820c>] lr : [<ffffffc0000c820c>] pstate: 60000145
[ 9.513431] sp : ffffffc00178b890
[ 9.513434] x29: ffffffc00178b890 x28: 0000000000000000
[ 9.513437] x27: ffffffc00136d89d x26: ffffffc06a6c4d00
[ 9.513439] x25: 0000000000000000 x24: ffffffc0019a5146
[ 9.513442] x23: ffffffc001a5f000 x22: ffffffc066ac9f08
[ 9.513445] x21: ffffffc00178b9f0 x20: ffffffc066ac9f08
[ 9.513447] x19: 0000000000000000 x18: ffffffc06a283c40
[ 9.513450] x17: 0000000000000000 x16: 0000000000000000
[ 9.513453] x15: 000000000000b83e x14: 613378302f633333
[ 9.513455] x13: 78302b7972746e65 x12: 5f70757472617473
[ 9.513458] x11: 5f757063205d3e34 x10: 3433376530303030
[ 9.513461] x9 : 636666666666663c x8 : ffffffc001a79afc
[ 9.513463] x7 : 0000000000000000 x6 : ffffffc001a79afc
[ 9.513466] x5 : 0000000000000000 x4 : 0000000000000000
[ 9.513468] x3 : ffffffc001a626b8 x2 : cb88537fdc8cb01f
[ 9.513471] x1 : cb88537fdc8cb01f x0 : 0000000000000000
[ 9.513473]
[ 9.513473] PC: 0xffffffc0000c810c:
[ 9.513480] 810c 14000041 f000cca3 b9404c64 9000ccc3 7100049f 540000a0 911f0065 b94008a5
[ 9.513487] 812c 34000725 35000704 d000b624 911f0066 f940c085 f9401cc6 cb0600a5 f10190bf
[ 9.513493] 814c 54000045 b5000606 911f0063 2a0203f3 2a0103e2 aa0003e1 f940c080 f9001c60
[ 9.513500] 816c d0009500 913d1c00 9436d54f 910003e0 9272c400 b9805001 f26af83f 1a9f07e1
[ 9.513507] 818c d53b4222 f9400804 d0009500 12190042 913e1800 b9449883 91192084 9436d542
[ 9.513513] 81ac d53b4220 910003e0 9272c401 b9405020 f9400821 120a7800 b9439821 0b010000
[ 9.513520] 81cc 6b13001f 540001e0 d0009500 912b2800 9436d535 910003e0 9272c400 f9400800
[ 9.513526] 81ec f945fc01 d0009580 9136c000 aa0103e2 9436d52d b000a0c0 9124d400 9436d52a
[ 9.513533] 820c e7f001f2 f9400bf3 a8c27bfd d65f03c0 a9a97bfd 52800103 910003fd a90363f7
[ 9.513539] 822c f000ccb7 f9002bfb a9025bf5 aa0003f5 b0009558 f9406ae0 9104a2bb a9046bf9
[ 9.513546] 824c f900b7a0 2a0203fa 2a0103f9 aa1b03e2 52802001 9101a3a0 a90153f3 f9400ab3
[ 9.513553] 826c 9000ccd4 9409df21 911f0280 2a1a03e1 912baf02 2a1a03e3 f900201f d0009500
[ 9.513559] 828c 913f0400 9436d508 b94052a0 37000140 d0009500 12800013 913f4c00 9436d502
[ 9.513566] 82ac f94002a0 b4000f20 d0009500 913fa800 14000075 f0009500 f94086a2 91005800
[ 9.513573] 82cc 9101a3a1 52800816 9436d4f7 1ad60f36 937d7ed6 f8766b60 1200173b 9adb2400
[ 9.513579] 82ec 370000a0 f0009500 2a1903e1 9100a000 9436d4ed 91006260 f8766800 9adb2400
[ 9.513581]
[ 9.513581] LR: 0xffffffc0000c810c:
1.了解硬件原理
2.GDB 定位
3.确定 硬件条件
在host模式,vbus悬空,USB_ID一定要为低。
4.死机后 usb_id 拉高拉低也不能开机
5.gdb定们不到函数
6.从log分析看,是进入了某种模式,但是这种波形不符合我们任何一种波形
7.使用示波器抓vbus波形,一连接示波器,抓波形,就开机
8.说明vbus有问题,考虑示波器的微弱灌电流,
9.同时发现在vbus上连接一条线,特别容易复现,用手逮住,更容易
10.果断加容性阻抗处理,问题解决