We have encountered the problem that reading a value of USBTLL_SYSSTATUS register after the softreset causes memory access violation. This sometimes happens when ohci-hcd.ko is started or removed. It exactly happens in the following lines by each case.
If OHCI driver does not do software reset, it looks this issue does not occur anymore. However the software reset looks to be needed to disable USB bus. This affect a power consumption at the sleep state of OMAP. It means that the power consumption of OMAP at the sleep state increases in case the software reset is not being done at removing ohci_hcd.ko. We tried setting PM_PWSTCTRL_USBHOST to OFF state, but the message of "Could not enter target state in pm_suspend" still would be shown at the suspend. So the PM_PWSTCTRL_USBHOST does not work to enter OMAP power management to the sleep state correctly.
We are looking for the solution that can both avoid the kernel panic and reduce the power consumption at the sleep state.
================================================================
[oops by ohci_hcd_omap_probe]
ohci-omap3.c line 501
while (!(ohci_omap_readl(omap->tll_base, OMAP_USBTLL_SYSSTATUS)
[oops by omap_stop_ohc]
ohci-omap3.c line 656
while (!(ohci_omap_readl(omap->tll_base, OMAP_USBTLL_SYSSTATUS)
================================================================
The attached logs are a kernel crash of each case. I googled and searched on web, but I was not able to reach a solution of this issue. I think the following link indicates a similar issue of this, but it looks there are no effective solution yet. I tried 1000 ms sleep between the softreset and reading status register, but it does not help. Since we are using ohci driver, the patch of ehci driver does not help.
http://e2e.ti.com/support/dsp/sitara_arm174_microprocessors/f/416/t/192610.aspx
- Environment
The kernel(2.6.32) is based on is to L25Inc3.4p4 with a set of TI provided patches to take it to L25Inc3.4P5.
OMAP3621 HS
We would really appreciate it if you could give us your idea.
Best Regards,
Sho Nagai
[oops by ohci_hcd_omap_probe]
Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa062014
Internal error: : 1028 [#1] PREEMPT
last sysfs file: /sys/power/vdd2_opp
Modules linked in: ohci_hcd(+) g_serial ssd1331 msp430_led msp430_button omap3epfb msp430_fuelgauge msp430_powermgr msp430_proto dm_crypt dm_mod mma7660fc(C) ov564x industrialio(C) [last unloaded: msp430_misc]
CPU: 0 Tainted: G C (2.6.32.9_EPT #1)
PC is at ohci_hcd_omap_probe+0x388/0x69c [o<c00502b4>] psr: 60000013
sp : c3cede90 ip : 00000098 fp : 0000 DAC: 00000015
LR: 0xc0050234:
0234 e1a0200d e3c23d7f e3c3303f e5933000 e3130002 0a000002 eb0d71e0 ea000000
0254 e3a019 e3750a01 8a000017
0274 e10f4000 f10c0080 e3a00001 eb005302 e59f3054 e5933000 e5933000 e3530000
0294 01a05003 0a000002 e1a00005 e12fff33 e1a05000 e121f004 e3a00001 eb0052c7
02b4 e1a0200d e3c23d7f e3c3303f e5933000 e3130002 0a000002 eb0d71c0 ea000000
02d4 e3e05015 e1a00005 e8bd8070 c054b5d4 e59f3038 e92d4010 e5934008 ea000005
02f4 e594302c e3130b02 0a000001 e1a00004 ebffffd5 e5944000 e5943000 f5d3f0:
de10 0000004c c0074ad4 0000004c c0035070 ffffffff fa200000 cf8a55c0 c0035ac4
de30 ffffffff c3cede7c cf8a55c0 bf09c4c4 2000 fa062000 ffff986a c3c109c0 cf8a55c0 bf09c4c4 c050e688 c050e690
de70 cec6d400 0000004c 00000098 c3cede90 c00502b4 bf09 00000002 c050e690 c050e690 bf09ddec c3c10a40 c052c5f0
deb0 c3cec000 00000000 bee8e994 c01d7de8 c050e690 c01d6df4 c050e690 c050e6c4
ded0 bf09ddec c3c10a40 c052c5f0 c01d6f00 00000000 c01d6ea0 bf09ddec c01d65d8
def0 cf805a78 cf8a2770 00000000 c01d5e1c bf09ddec c01d5f30 bf09dd87 bf09dd87
R1: 0xc03afac8:
fac8 00000000 c0105d2c c0105e2800 00000000 00000000 00000000 00000000
fb28 00000000 00000000 00000000 00000008 c0046720 c0045e80 c0045c10 c0045bf8
fb48 00f01 00000000 00000000
fb68 00000001 00000f01 00000000 00000000 00000001 00000e01 00000002 00000f02
fb88 00000003 00000f 636d5f32
fba8 5f707362 646e6573 7461645f 6d6f0061 5f327061 7362636d 65725f70 76696563
R2: 0xfa061f80:
1f80 ******** ******** ********
1fa0 ******** ******** ******** ******** ******** ******** ******** ********
1fc0 ******** ******** ******** ******** ******** ******** ******** ********
1fe0 ******** ******** ******** ******** ******** ******** ******** ********
2000 ******** ******** ******** ******** ******** ******** ******** ********
2020 ******** ******** ******** ******** ******** ******** ******** ********
2040 ******** ******** ******** ****** ******** ******** ******** ******** ******** ********
R3: 0xfa061f80:
1f80 ******** ******** ******** ******** ***** ******** ******** ******** ******** ******** ******** ********
1fc0 ******** ******** ******** ******** ******** ************* ******** ******** ******** ******** ********
2000 ******** ******** ******** ******** ******** ******** ******** *** ******** ******** ******** ********
2040 ******** ******** ******** ******** ******** ******** ******** ********
2060******** ******** ********
R4: 0xffff97ea:
97e8 ******** ******** ******** ******** ******** ******** ******** *************** ******** ******** ********
9828 ******** ******** ******** ******** ******** ******** ******** ********
9848 ******** ******** ******** ******** ******** ******** ******** ********
9868 ******** ******** ******** ******** ******** ******** ******** ********
9888 ******** ******** ******** ******** ******** ******** ******** ********
98a8 ******** ******** ******** ******** ******** ******** ********e8 ******** ******** ******** ******** ******** ******** ******** ********
R5: 0xc3c10940:
0940 00001f02 00002f4e 00000 00001f02 00002f96 00001f02 00002fa2 00001f02 00002fb0 00001f02 00002fbe
0980 00001f02 00002fcc 00001f02 00002fdb 00001f02 00002fe6 00001f02 00002ff2
09a0 00001f02 00003001 00001f02 00003010 00001f02 0000301f 00001f02 0000302e
09c0 cec6d4d8 c050e690 c050b070 c050af98 c050b004 c0508eb0 c0509c9c 00000000
09e0 00000000 00000000 00000000 00000000 00000004 00000000 fa064000 fa062000
0a00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0a20 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
R6: 0xcf8a5540:
5540 6963686f 616d6f2d 302e3370 ffffef00 ffdd6fff fffff7ff b7fbefff fdffffff
5560 ff7bffdf fffffffd fa3ffffd ffffffff ffffeff5 ffffefff fffffeed bfffffff
5580 6963686f 616d6f2d 302e3370 00000000 0000000 00000000 00000000 00000000 00000000
55c0 00000000 00000004 00000000 00000000 6e612f6d 696f7264 73755f64 00000062
55e000000000 00000000 00000000
5600 65776f70 ffef0072 fdffffb7 ffffffff fffdffff fddbffff ffffffff ffdfeeff
5620 ffdfffff e7fffbff ffffffff f7fffcff ffffdfff f7ffffbf f5ff7fff fffffffd
R8: 0xc050e608:
e608 c050e658 0000d102 00000002 c050e65c 0000d103 00000001 c050e664 0000d104
e628 00000002 c050e668 0000d105 00000001 c050e670 0000d106 00000002 c050e674
e648 0000d107 00000003 c050e67c c0467d69 c0467d7a c0467d69 c0467d7a467d7a
e688 c0467e04 00000000 c052c548 cf8a2740 cf8a5580 cf80344c c050e24c c052c550
e6a8 cf814bc0 c052c3f8 cf8a3f68 0000c8 c050e6c8 c050e6c8 c052c5f0 bf09ddec cf8a55c0 00000000 00000000 00000001
e6e8 cf803498 c050e298 c050e8e8 00000000 ffffffff 00000000 00000000 c050e704
R9: 0xc050e610:
e610 00000002 c050e65c 0000d103 00000001 c050e664 0000d104 00000002 c050e668
e630 0000d105 00000001 c050e670 0000d106 00000002 c050e674 0000d107 00000003
e650 c050e67c c0467d69 c0467d7a c0467d69 c0467d7a c0467d7e c0467d7e c0467d7a
e670 c0467d84 c0467d84 c0467d7a c0467d84 c0467d69 c0467d7a c0467e04 00000000
e690 c052c548 cf8a2740 cf8a5580 cf80344c c050e24c c052c550 cf814bc0 c052c3f8
e6b0 cf8a3f68 00000003 00000007 00000000 00000000 00000000 c050e6c8 c050e6c8
e6d0 c052c5f0 bf09ddec cf8a55c0 00000000 00000000 00000001 cf803498 c050e298
e6f0 c050e8e8 00000000 ffffffff 00000000 00000000 c050e704 c050e704 00000000
00000 00000000 00000000 00000000 00000000 00000000
d3a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000 00000000 00000000 00000000 00000000
d3e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
d400 c050e690 ffffffff cf8a5580 00000001 00000000 00000001 00000000 00000000
d420 00000000 00000000 00000000 cec6d42c cec6d42c 00000000 00000000 00000000
d440 00000000 00000000 00000000 00000001 bf09dd92 00000000 00000000 00000000
d460 00000000 00000000 00000000 00000000 00000000 000 0xc3cee000)
de80: c050e688 c3cede58 00000002 c050e690
dea0: c050e690 bf09ddec c3c10a4
dec0: c050e690 c01d6df4 c050e690 c050e6c4 bf09ddec c3c10a40 c052c5f0 c01d6f00
dee0: 00000000 c01d6ea0 bf09ddec c01d65d8 cfc c01d5f30 bf09dd87 bf09dd87 c3cedf10 00000000 bf09df84 bf09ddec
df20: 00000000 c00360c4 40025000 c01d71d0 00000000 bf09df800000 bf09de28 bf0a1000 00000000 c00360c4 c00353ac
df60: 00000000 bf09de28 00022ea0 4015d000 c00360c4 00000000 bf09de28 000202 00022ea0 40159000 00000000 00000000
dfa0: 00000080 c0035f40 40159000 00000000 4015d000 0003d202 00022ea0 0003d202
dfc0: 40159000 00000000 00000000 00000080 00000000 00000000 40025000 bee8e994
dfe0: 00000000 bee8e90c 0000b6b0 400f49d4 60000010 4015d000 ffffffff fffffffd
[<bf09c7fc>] (ohci_hcd_omap_probe+0x388/0x69c [ohci_hcd]) from [<c01d7de8>] (platform_drv_probe+0x18/0x1c)
[<c01d7de8>] (platform_drv_0xa0/0x14c) from [<c01d6f00>] (__driver_attach+0x60/0x84)
[<c01d6f00>] (__driver_attach+0x60/0x84) from [<c01d65d8>] (bus_for_each_dev+0x44/0x74)
[<c01d65d8>] (bus_for_each_dev+0x44/0x74) from [<c01d5f30>] (bus_add_driver+0x130/0x2bc)
[<c01d5f30>] (bus_add_driver+0x130/0x2bc) from [<c01d71d0>] (driver_register+0xa8/0x134)
[<c01d71d0>] (driver_register+0xa8/0x134) from [<bf0a107c>] (ohci_hcd_mod_init+0x7c/0xd0 [ohci_hcd])
[<bf0a107c>] (ohci_hcd_mod_init+0x7c/0xd0 [ohitcall+0x5c/0x1b4)
[<c00353ac>] (do_one_initcall+0x5c/0x1b4) from [<c009d804>] (sys_init_module+0xb0/0x1dc)
[<c009d804>] (ret_fast_syscall+0x0/0x2c)
Code: e5950018 eb3e89aa ea000079 e595303c (e5933014)
---[ end trace e77f66384b0448bf ]---
[oops by omap_stop_ohc]]
Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa062014
Internal error: : 1028 [#1] PREEMPT
last sysfs file: /sys/devices/platform/ept-rfkill/rfkill/rfkill0/state
Modules linked in: ohci_hcd(-) FWUSBModem usbserial g_serial tiwlan_drv ssd1331 msp430_led msp430_button omap3epfb msp430_fuelgauge msp430_powermgr msp430_proto dm_crypt dm_mod mma7660fc(C) industrialio(C) ov564x [last unloaded: ohci_hcd]
CPU: 0 Tainted: G C (2.6.32.9_EPT #1)
PC is at omap_stop_ohc+0x154/0x214 [ohci_hcd]
LR is at omap_stop_ohc+0x38/0x214 [ohci_hcd]
pc : [<bf25779c>] lr : [<bf257680>] psr: 00000013
sp : cec91ed8 ip : 0002f930 fp : be877c84
r10: 40025000 r9 : cec90000 r8 : c00360c4
r7 : bf25ddec r6 : c82504d8 r5 : cee17b40 r4 : 0014337e
r3 : fa062000 r2 : fa062000 r1 : bf25cf9b r0 : 0000003f
Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c5387d Table: 83f80019 DAC: 00000015
SP: 0xcec91e58:
1e58 ffffffff cec91ec4 c82504d8 bf25ddec c00360c4 00000113 40025000 be877c84
1e78 ffffffff cec91ec4 c82504d8 bf25ddec c00360c4 c0035a6c 0000003f bf25cf9b
1e98 fa062000 fa062000 0014337e cee17b40 c82504d8 bf25ddec c00360c4 cec90000
1eb8 40025000 be877c84 0002f930 cec91ed8 bf257680 bf25779c 00000013 ffffffff
1ed8 cee17b40 c8250400 c82504d8 bf257888 c050e690 bf25ddec c050e6c4 c01d7e0c
1ef8 c050e690 c01d6b24 c050e690 cec90000 c050e6c4 c01d6c18 bf25ddec bf25de28
1f18 c052c5f0 00000880 c00360c4 c01d5db0 00000000 bf25de28 cec91f44 bf25cb1c
1f38 00000000 c009bca0 40021000 6963686f 6463685f cec4d500 c99bc0d0 c00dbe18
R2: 0xfa061f80:
1f80 ******** ******** ******** ******** ******** ******** ******** ********
1fa0 ******** ******** ******** ******** ******** ******** ******** ********
1fc0 ******** ******** ******** ******** ******** ******** ******** ********
1fe0 ******** ******** ******** ******** ******** ******** ******** ********
2000 ******** ******** ******** ******** ******** ******** ******** ********
2020 ******** ******** ******** ******** ******** ******** ******** ********
2040 ******** ******** ******** ******** ******** ******** ******** ********
2060 ******** ******** ******** ******** ******** ******** ******** ********
R3: 0xfa061f80:
1f80 ******** ******** ******** ******** ******** ******** ******** ********
1fa0 ******** ******** ******** ******** ******** ******** ******** ********
1fc0 ******** ******** ******** ******** ******** ******** ******** ********
1fe0 ******** ******** ******** ******** ******** ******** ******** ********
2000 ******** ******** ******** ******** ******** ******** ******** ********
2020 ******** ******** ******** ******** ******** ******** ******** ********
2040 ******** ******** ******** ******** ******** ******** ******** ********
2060 ******** ******** ******** ******** ******** ******** ******** ********
R5: 0xcee17ac0:
7ac0 cee17ac0 cee17ac0 c01d3984 c01d38c4 00000000 00100100 00200200 00000000
7ae0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7b00 00000000 c9ac9d40 00000000 00000000 00000000 00000000 00000000 00000000
7b20 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7b40 c82504d8 c050e690 c050b070 c050af98 c050b004 c0508eb0 c0509c9c 00000000
7b60 00000000 00000000 00000000 00000000 00000004 00000000 fa064000 fa062000
7b80 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7ba0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
R6: 0xc8250458:
0458 6463685f 6273753a 00000032 00000000 00000000 00000000 00200200 0013c940
0478 c0217e98 c8250400 c058c7c0 00000000 00000000 c825048c c825048c c0216ec8
0498 bf25ced8 00000006 00000022 ffffffff fa064400 00000000 48064400 00000000
04b8 00000400 00000000 00000000 00000000 00000000 00000000 00000000 00000000
04d8 fa064400 00000000 00000000 00000000 00000000 00000000 00000000 00000000
04f8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0518 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0538 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
R8: 0xc0036044:
6044 e31c0c01 1a000008 e3570e17 e24fef46 3798f107 e28d1008 e3a08000 e357080f
6064 e2270000 2a000e8c ea014753 e1a02007 e28d1008 e3a00000 eb00048c e28fe014
6084 e1a07000 e28d1008 e3570e17 3891000f 3798f107 eaffffef e5ad0008 e1a02007
60a4 e1a0100d e3a00001 eb000480 eaffffb7 e1a00000 e1a00000 e1a00000 c0501b80
60c4 c007c580 c0072368 c00366ac c00ec494 c00ec268 c00e9d08 c00e9a94 c0087dc0
60e4 c00e9d20 c00f7a98 c00f744c c00366bc c00ea680 c0087dc0 c00f780c c00ea588
6104 c0098bf0 c0087dc0 c0087dc0 c00eb358 c007be04 c01052d8 c0087dc0 c0098b88
6124 c0098948 c0087dc0 c007801c c0087dc0 c0087dc0 c007c9c4 c0087dc0 c0087dc0
R9: 0xcec8ff80:
ff80 e59d2014 e1a0000c e5973028 e3120080 e7e327d2 00833102 10833102 0593116c
ffa0 1593112c e3510000 11d110b4 eb3d96a4 e3510000 1a000000 e2855001 e59d3008
ffc0 e2850004 e3831902 e1a00100 eb3ad146 e250a000 0a00011f e28ab008 e1ca50b4
ffe0 e58a8000 e1a0600a e58ab008 e3a04000 e58ab00c ea00000e e1a00009 e59d1008
0000 00000000 00000002 00000000 cf8a60c0 c050fe68 00000000 00000017 cecee9c0
0020 cf921400 cf8a60c0 cec4d540 cec90000 cf8a6158 cf8a626c cec91d4c cec91d18
0040 c03ac7a4 00000000 00000000 00000000 00000000 00000000 01000000 00000000
0060 4001f560 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Process rmmod (pid: 7535, stack limit = 0xcec902e8)
Stack: (0xcec91ed8 to 0xcec92000)
1ec0: cee17b40 c8250400
1ee0: c82504d8 bf257888 c050e690 bf25ddec c050e6c4 c01d7e0c c050e690 c01d6b24
1f00: c050e690 cec90000 c050e6c4 c01d6c18 bf25ddec bf25de28 c052c5f0 00000880
1f20: c00360c4 c01d5db0 00000000 bf25de28 cec91f44 bf25cb1c 00000000 c009bca0
1f40: 40021000 6963686f 6463685f cec4d500 c99bc0d0 c00dbe18 40021000 00000000
1f60: c0511fc4 c99e9338 be877c14 c019c9b0 00000000 cec4d574 40020000 00001000
1f80: bf25de28 00000880 cec91f8c 00000000 00012008 be877c20 00000000 00000000
1fa0: 00000081 c0035f40 be877c20 00000000 be877c20 00000880 00000880 be877c20
1fc0: be877c20 00000000 00000000 00000081 00000000 00000000 40025000 be877c84
1fe0: 00000000 be877c18 000091cc 400f58bc 60000010 be877c20 00000000 00000000
[<bf25779c>] (omap_stop_ohc+0x154/0x214 [ohci_hcd]) from [<bf257888>] (ohci_hcd_omap_remove+0x2c/0x5c [ohci_hcd])
[<bf257888>] (ohci_hcd_omap_remove+0x2c/0x5c [ohci_hcd]) from [<c01d7e0c>] (platform_drv_remove+0x18/0x1c)
[<c01d7e0c>] (platform_drv_remove+0x18/0x1c) from [<c01d6b24>] (__device_release_driver+0x64/0xa4)
[<c01d6b24>] (__device_release_driver+0x64/0xa4) from [<c01d6c18>] (driver_detach+0xb4/0xdc)
[<c01d6c18>] (driver_detach+0xb4/0xdc) from [<c01d5db0>] (bus_remove_driver+0x90/0xb8)
[<c01d5db0>] (bus_remove_driver+0x90/0xb8) from [<bf25cb1c>] (ohci_hcd_mod_exit+0xc/0x44 [ohci_hcd])
unwind: Index not found bf25cb1c
Code: e1a01000 e59f00bc eb4552de e595303c (e5933014)