Oops on boot for omap3xxx, EHCI fails.

Russ Dill Russ.Dill at ti.com
Wed Jun 20 05:41:10 EDT 2012


[PATCH] Fix OMAP EHCI suspend/resume failure (i693) '354ab856' causes
an oops on boot for all omap3xxx platforms that use usbhs_omap for
EHCI. The actual oops seems to come from faulty ehci-omap cleanup, but
the failure caused by the change is evidenced here:

[    3.655059] ehci-omap ehci-omap.0: utmi_p1_gfclk failed error:-2
[    3.661376] ehci-omap: probe of ehci-omap.0 failed with error -2

The problem is the call:

omap->utmi_p1_fck = clk_get(dev, "utmi_p1_gfclk");

Where dev here is ehci-omap. As shown below, clk_get will fail with
dev_id "ehci-omap" and clk_id "utmi_p1_gfclk" (but succeed on
omap44xx).

arch/arm/mach-omap2/clock3xxx_data.c:   CLK("usbhs_omap",       "utmi_p1_gfclk",
arch/arm/mach-omap2/clock44xx_data.c:   CLK(NULL,       "utmi_p1_gfclk",

The oops caused by bad cleanup is shown below:

[    3.951934] Unable to handle kernel NULL pointer dereference at
virtual address 00000000
[    3.960418] pgd = c0004000
[    3.963256] [00000000] *pgd=00000000
[    3.967010] Internal error: Oops: 5 [#1] SMP ARM
[    3.971801] Modules linked in:
[    3.975006] CPU: 0    Not tainted  (3.5.0-rc1-ktest-00040-g354ab85 #401)
[    3.981964] PC is at hub_port_init+0x28c/0x968
[    3.986602] LR is at hub_port_init+0xc4/0x968
[    3.991119] pc : [<c03304f8>]    lr : [<c0330330>]    psr: 60000013
[    3.991119] sp : de11deb8  ip : c05eae4c  fp : 00000000
[    4.003082] r10: 00000000  r9 : de38ac00  r8 : 00000032
[    4.008514] r7 : de388800  r6 : 00000002  r5 : 00000000  r4 : de391800
[    4.015289] r3 : 00000000  r2 : c05de444  r1 : c05de468  r0 : de391868
[    4.022094] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM
Segment kernel
[    4.029693] Control: 10c5387d  Table: 80004019  DAC: 00000017
[    4.035675] Process khubd (pid: 242, stack limit = 0xde11c2f8)
[    4.041748] Stack: (0xde11deb8 to 0xde11e000)
[    4.046264] dea0:
    00000002 de38ac00
[    4.054779] dec0: 00000002 00000000 00000004 c00891b0 00000001
00000002 00000003 de378000
[    4.063293] dee0: 00000000 c0479d28 00000001 de391800 de388800
de378000 de378018 de38ac00
[    4.071807] df00: 00000002 00000000 00000002 c0333d68 00000501
00000000 c05df1b0 c069d600
[    4.080322] df20: 10a5bb6a de38ac08 de388420 de38889c de388400
00000004 de38ac70 de38ac01
[    4.088806] df40: de388800 de38ac68 de388800 de388420 de378000
00000009 de11df8c c0064834
[    4.097320] df60: 00000000 de11c000 00000000 de11f440 c005c75c
de11df74 de11df74 00000000
[    4.105834] df80: 00000501 c00891b0 de02ff18 de02fef0 00000000
c03336fc 00000013 00000000
[    4.114349] dfa0: 00000000 00000000 00000000 c005c064 00000000
00000000 00000000 00000000
[    4.122863] dfc0: 00000000 dead4ead ffffffff ffffffff c0747830
00000000 00000000 c0597cd0
[    4.131378] dfe0: de11dfe0 de11dfe0 de02fef0 c005bfe0 c0014154
c0014154 00000200 00000000
[    4.139892] [<c03304f8>] (hub_port_init+0x28c/0x968) from
[<c0333d68>] (hub_thread+0x66c/0x13d8)
[    4.149047] [<c0333d68>] (hub_thread+0x66c/0x13d8) from
[<c005c064>] (kthread+0x84/0x90)
[    4.157501] [<c005c064>] (kthread+0x84/0x90) from [<c0014154>]
(kernel_thread_exit+0x0/0x8)
[    4.166168] Code: e59f2690 e5933080 e2840068 e59f1688 (e593e000)
[    4.172607] ---[ end trace f11541c260e8a205 ]---



More information about the linux-arm-kernel mailing list