Linux 未处理的故障:0x06e38067处的外部中止(0x1406)不精确

Linux 未处理的故障:0x06e38067处的外部中止(0x1406)不精确,linux,usb,Linux,Usb,我们的平台有两个一个USB A端口和一个USB OTG端口。如果我们将USB A端口中的任何一个连接到USB OTG端口,然后执行硬电源重置(先拔出电源,然后再插入电源),系统将无法启动,我们会遇到内核崩溃 [ 0.945983] Unhandled fault: imprecise external abort (0x1406) at 0x06e38067 [ 0.946014] Internal error: : 1406 [#1] PREEMPT SMP [ 0.9460

我们的平台有两个一个USB A端口和一个USB OTG端口。如果我们将USB A端口中的任何一个连接到USB OTG端口,然后执行硬电源重置(先拔出电源,然后再插入电源),系统将无法启动,我们会遇到内核崩溃

[    0.945983] Unhandled fault: imprecise external abort (0x1406) at 0x06e38067
[    0.946014] Internal error: : 1406 [#1] PREEMPT SMP
[    0.946014] Modules linked in:
[    0.946044] CPU: 1    Not tainted  (3.0.31-00003-OMAP-Android #2)
[    0.946044] PC is at omap_rev+0x0/0x1c
[    0.946075] LR is at omap4430_phy_power+0x7c/0x10c
[    0.946075] pc : [<c0062c70>]    lr : [<c0080c9c>]    psr: 20000013
[    0.946105] sp : d784fed8  ip 84fef4
[    0.946105] r10: d7945005  r9 : d78fb200  r8 : c039aef8
[    0.946105] r7 : 00000000  r6 : 00000000  r5 : 00000000  r4 : c0859220
[    0.946105] r3 : fc0ab000  r2 : 00001800  r1 : 00000000  r0 : 00000000
[    0.94610c5387d  Table: 8000404a  DAC: 00000015
[    0.946136] 
[    0.946166] PC: 0xc0062bf0:
[    0.946166] 2bf0  089da830 e5943008 e5945010 e3530000 ba000015 e5940020 e5900
[    0.946166] 2c10  0a000003 e5940024 e1a01005 e12fff33 e89da830 e1a00005 eb020
[    0.946166] 2c30  089da830 e590300c e3530000 089da830 e593402c e3540000 089d5
[    0.946228] 2c50  eb023c62 e12fff34 e89da830 e30f0f60 e3a0109d e34c0073 eb010
[    0.946258] 2c70  e1a0c00d e92dd800 e24cb004 e3083708 e34c3085 e5930000 e89dd
[    0.946258] 2c90  e92dd800 e24cb004 e24dd008 e308c708 e34cc085 b0  e1100003 4
[    0.946289] 2cd0  e3083708 e34c3085 e5d32000 e593300c e3520044 0a000008 e5930
[    0.946319] 
[    0.946319] LR: 0xc0080c1c:
[    0.946319] 0c1c  e89da818 e1a0c00d e92dd878 e24cb004 e3520000 e1a05001 1a000
[    0.946319] 0c3c  e34c2085 e3a0c018 e3a00000 e5923000 e583c33c e89da878 e3095
[    0.946380] 0c5c  e5943010 e2831a02 e283ed83 e283cd82 e5916018 e386000f e5814
[    0.946411] 0c7c  e3826906 e58e6014 e59c1000 e3c10b0e e3802b06 e58c2000 e59c4
[    0.946411] 0c9c  e3003443 e1530a20 0a000015 ebff87f0 e3001446 e1510a20 0a00c
[    0.946441] 0cbc  e3003447 e1530a20 0a000006 e5941000 e3550000 c  eafffff1 e2
[    0.946502] 
[    0.946502] SP: 0xd784fe58:
[    0.946502] fe58  d784feac d784fe68 c0095554 c0093570 1253b94f 00000000 ffff4
[    0.946533] fe78  00000000 00000000 d784fef4 d784fe90 c005396c c004d53c 00000
[    0.946533] fe98  00001800 fc0ab000 c0859220 00000000 00000000 00000000 c0390
[    0.946563] feb8  d7945005 d784fef4 fc0ad080 d784fed8 c0080c9c 00000001 d784c
[    0.946594] fef8  d784ff24 d784ff08 c039b12c c039b6bc 00000001 d78063c0 c0a50
[    0.946624] ff18  d784ff5c d784ff28 c00baa14 c039af04 c061eb34 c0280500 d7800
[    0.946624] ff38  c0a5cdc0 c07fa590 c0a5cdd4 d78063d0 00000089 d784e000 d7840
[    0.946655] 
[    0.946655] IP: 0xfc0ad000:
[    0.946655] d000  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.946685] d020  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.946685] d040  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.946716] d060  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.946746] d080  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.946746] d0a0  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.946777] d0c0  00000000 00000000 00000000 00000000 00000000  00000000 0000
[    0.946807] 
[    0.946807] FP: 0xd784fe74:
[    0.946807] fe74  d784fec4 00000000 00000000 d784fef4 d784fe90 c005396c c0040
[    0.946838] fe94  00000000 00001800 fc0ab000 c0859220 00000000 00000000 00008
[    0.946868] feb4  d78fb200 d7945005 d784fef4 fc0ad080 d784fed8 c0080c9c c0063
[    0.946868] fed4  ffffffff c0080c20 d781b000 c081ae10 00000001 d784ff04 d7848
[    0.946899] fef4  c0080c2c d784ff24 d784ff08 c039b12c c039b6bc 00000001 d7800
[    0.946899] ff14  d7945000 d784ff5c d784ff28 c00baa14 c039af04 c061eb34 c0280
[    0.946929] ff34  d78063c0 c0a5cdc0 c07fa590 c0a5cdd4 d78063d0 00000089 d784c
[    0.946960] ff54  d784ff60 c00bb0b8 c00ba90c c004c4c0 c004b0a4 000 00000000 0
[    0.947052] b000  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.947082] b020  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.947082] b040  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.947113] b060  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.947113] 
[    0.947113] R4: 0xc08591a0:
[    0.947143] 91a0  ffffffff c08591a4 c08591a4 00000000 00000000 c085918c 00000
[ 000 00000000 00000000
[    0.947204] 9200  d7bfd000 d78b5480 d7896d00 000000fe d78bbf00 00000000 00008
[    0.947235] 9220  fc002000 c080f5e0 c080f57c c081083c fc0ab000 0000000 000004
[    0.947265] 9280  00000001 00000001 00000001 c0859248 c0859294 00000001 00001
[    0.947296] 
[    0.947296] R8: 0xc039ae78:
[    0.947296] ae78  e1a0c00d e92dd830 e24cb004 e3043cd4 e34c30a6 e1a05000 e1a04
[    0.947326] ae98  e3500000 03a00010 0a000004 e3a01020 ebf63a20 e3500000 03080
[    0.947357] aeb8  e2455f89 e1a0c000 e5804010 e1a01000 e5805014 e3a0ec03 e30a4
[    0.947357] aed8  e34c2039 e580c008 e580200c e580c004 e5950208 ebf48aee e3a00
[    0.947387] aef8  e1a0c00d e92dd878 e24cb004 e5904014 e5906010 e5941234 e5918
[    0.947387] af18  ebf63811 e3560003 979ff106 ea000034 c039af38 c039b0a0 c0390
[    0.947418] af38  e5d42eec e2126001 17c0201f 15c42eec 189da878 e5940234 e3a0f
[    0.947448] af58  e5d5c000 e35c0001 1a000008 e1a00004 e1a01006 ebfffe91 e594c
[    0.947448] 
[    0.947448] R9: 0xd78fb180:
[    0.947479] b180  73627573 65747379 3a87006d 766b538a 33937309 3369531f 33873
[  7270722d 312e636f 33287300 739b410a 3f28c11b 3a9f714a 7308f303
[    0.947509] b1e0  65776f70 b7690072 7ab77529 3eb8f097 7ed671e8 3ed85107 1e32f
[    0.947540] b200  d78fb220 d78fb204 d78fb204 c039aef8 00000001 d781b000 3e375
[    0.947570] b220  d78fb240 3e6851d3 1897e162 3068510b 5e974168 6a69c19f 34d76
[    0.947570] b240  d78fb260 3768c107 be970368 b068c597 fe854068 7e69c11a ee177
[    0.947601] b260  d78fb280 3e78c197 3ed76149 3e89c197 9e9f436b 3e684997 3e337
[    0.947601] 
[    0.947631] R10: 0xd7944f85:
[    0.947631] 40 00000000 00000000 00000000 c0305324 00000002 d78bedc0 00000000
[    0.947631] 4fa4  00000000 6963686f 616d6f2d 00003370 00000000 00000000 00000
[    0.947662] 4fc4  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.947692] 4fe4  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.947692] 5004  d78cae80 00000000 ffffffff 00000001 00000000 00000000 00000
[    0.947723] 5024  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.947723] 5044  00000000 00000000 00000001 00000001 d7945054 0000 000000000
[    0.947784] 5084  00000000 00000000 00000000 00000000 00000000 00000000 00000
[    0.947784] Process kworker/u:0 (pid: 5, stack limit = 0xd784e2f8)
[    0.947814] Stack: (0xd784fed8 to 0xd7850000)
[    0.947814] fec0:                                                       c0080
[    0.947845] fee0: c081ae10 00000001 d784ff04 d784fef8 c039b6e8 00: c039b12c 8
[    0.947845] ff20: c00baa14 c039af04 c061eb34 c0280500 d78063c0 d78063c0 c0a50
[    0.947875] ff40: c0a5cdd4 d78063d0 00000089 d784e000 d784ffac d784ff60 c00bc
[    0.947875] ff60: c004c4c0 c004b0a4 c004ca00 c004ca00 c004ca00 d78063d0 c0040
[    0.947906] ff80: c00baf10 d7841ec4 00000002 d78063c0 c00baf10 00000000 00000
[    0.947906] ffa0: d784fff4 d784ffb0 c00c1cf4 c00baf1c 00000000 d78063c0 00000
[    0.947937] ffc0: d7841ec4 dead4ead ffffffff ffffffff d784ffd0 d784ffd0 d7840
[    0.947937] ffe0: c00a7e94 00000013 00000000 d784fff8 c00a7e94 c00c1c6c e0b19
[    0.947967] Backtrace: 
[    0.947967] [<c0080c20>] (omap4430_phy_power+0x0/0x10c) from [<c039b6e8>] (t)
[    0.947967]  r6:00000001 r5:c081ae10 r4:d781b000 r3:c0080c20
[    0.948028] [<c039b6b0>] (twl6030_phy_init+0x0/0x40) from [<c039b12c>] (musb)
[    0.948059] [<c039aef8>] (musb_otg_notifier_work+0x0/0x238) from [<c00baa14>)
[    0.948059]  r6:d7945000 r5:c0a5cdc0 r4:d78063c0 r3:00000001
[    0.948089] [<c00ba900>] (process_one_work+0x0/0x410) from [<c00bb0b8>] (wor)
[    0.948089] [<c00baf10>] (worker_thread+0x0/0x490) from [<c00c1cf4>] (kthrea)
[    0.948120] [<c00c1c60>] (kthread+0x0/0x98) from [<c00a7e94>] (do_exit+0x0/0)
[    0.948120]  r7:00000013 r6:c00a7e94 r5:c00c1c60 r4:d7841ec4
[    0.948150] Code: e3a0109d e34c0073 eb010200 e89da830 (e1a0c00d) 
[    0.948181] ---[ end trace 65f8ea860415c04f ]---
2) 此外,增加延迟也能起作用。我们增加了如下延迟

diff --git a/android-3.0/arch/arm/mach-omap2/omap_phy_internal.c b/android-3.0/arch/arm/mach-omap2/omap_phy_internal.c
index 052678e..bf84b5e 100755
--- a/android-3.0/arch/arm/mach-omap2/omap_phy_internal.c
+++ b/android-3.0/arch/arm/mach-omap2/omap_phy_internal.c
@@ -135,6 +135,8 @@ static void omap44xx_hsotg_ed_correction(void)
         * should be set to value >6
         */

+        ssleep(5);
+
        val = __raw_readl(hsotg_base + 0x2018);
        val |= 0x0F;
        __raw_writel(val, hsotg_base + 0x2018);
请注意,通过这两个更改中的任何一个,我们都可以正确引导平台

此外,如果平台上的USB OTG连接到PC的USB端口,则系统也会正确引导

diff --git a/android-3.0/arch/arm/mach-omap2/Kconfig b/android-3.0/arch/arm/mach-        omap2/Kconfig
index 4af6bad..3b2a1a6 100755
--- a/android-3.0/arch/arm/mach-omap2/Kconfig
+++ b/android-3.0/arch/arm/mach-omap2/Kconfig
@@ -459,7 +459,7 @@ config OMAP4_ARM_ERRATA_743622
config OMAP4_HSOTG_ED_CORRECTION
        bool "OMAP 44XX HSOTG Eye diagram correction"
        depends on ARCH_OMAP4
-       default y
+       default n
        help
          Select this option to overrive HSOTG PHY settings in
          order to improve Eye Diagramm. On 4430 CPUs this should

我们如何着手解决这个问题?

我实际上使用了来自的修复程序,似乎解决了这个问题。还有一个观察结果是,如果相同的USB OTG端口连接到PC上的USB端口,那么平台也可以正常启动。