REGRESSION: omap3 fails to boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I tried booting last nights omap3430-ldp test build... and it failed.
So I tried the tip of my tree... and it failed.  So I threw in the
standard ll debug printk hack and go the messages below.

Seems to be that the OMAP mailbox stuff is buggered:

c042ac1c t __initcall_omap2_mbox_init4
c042ac20 t __initcall_rx51_video_init4
c042ac24 t __initcall_omap_register_i2c_bus_cmdline4
c042ac28 t __initcall_omap_mbox_init4

so, omap2_mbox_init() gets called _before_ omap_mbox_init(), which means
the struct class has not been registered _before_ we start to register
devices against it.

Both these are subsys_initcall()s.

This bug is introduced by this "fix" in mainline which would appear to be
causing the regression - reverting it makes the platform boot again:

commit 435792d93410f008120c4dbab148019a3cc31dbc
Author: Ohad Ben-Cohen <ohad@xxxxxxxxxx>
Date:   Sun Feb 26 12:14:14 2012 +0200

    ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp
    
    omap3isp depends on omap's iommu and will fail to probe if
    initialized before it (which always happen if they are builtin).
    
    Make omap's iommu subsys_initcall as an interim solution until
    the probe deferral mechanism is merged.
    
    Reported-by: James <angweiyang@xxxxxxxxx>
    Debugged-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ohad Ben-Cohen <ohad@xxxxxxxxxx>
    Cc: stable <stable@xxxxxxxxxxxxxxx>
    Cc: Tony Lindgren <tony@xxxxxxxxxxx>
    Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx>
    Cc: Joerg Roedel <Joerg.Roedel@xxxxxxx>
    Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>

diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index 609ea2d..a6db1e4 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -412,7 +412,8 @@ static void __exit omap2_mbox_exit(void)
        platform_driver_unregister(&omap2_mbox_driver);
 }
 
-module_init(omap2_mbox_init);
+/* must be ready before omap3isp is probed */
+subsys_initcall(omap2_mbox_init);
 module_exit(omap2_mbox_exit);
 
 MODULE_LICENSE("GPL v2");


Uncompressing Linux... done, booting the kernel.
<6>Booting Linux on physical CPU 0
<5>Linux version 3.3.0-rc6+ (rmk@xxxxxxxxxxxxxxxxxxxxxxx) (gcc version 4.3.5 (GCC) ) #237 PREEMPT Sat Mar 10 17:54:37 GMT 201
2
CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP LDP board
<4>vmalloc area is too big, limiting to 976MB
<6>Reserving 2097152 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
<7>On node 0 totalpages: 32000
<7>free_area_init_node: node 0, pgdat c0470a5c, node_mem_map c0871000
<7>  Normal zone: 64 pages used for memmap
<7>  Normal zone: 0 pages reserved
<7>  Normal zone: 7360 pages, LIFO batch:0
<7>  HighMem zone: 192 pages used for memmap
<7>  HighMem zone: 24384 pages, LIFO batch:3
<6>OMAP3430/3530 ES2.1 (l2cache iva sgx neon isp )
<6>Clocking rate (Crystal/Core/MPU): 26.0/266/500 MHz
<7>pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
<7>pcpu-alloc: [0] 0 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 31744
<5>Kernel command line: console=ttyO2,115200n8 noinitrd vmalloc=1G mem=128M root=/dev/mmcblk0p2 rw ip=none rootdelay=2 video=
omap24xxfb:rotation=270
<6>PID hash table entries: 128 (order: -3, 512 bytes)
<6>Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
<6>Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
<6>Memory: 29MB 96MB = 125MB total
<5>Memory: 118256k/118256k available, 12816k reserved, 98304K highmem
<5>Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xc2800000 - 0xff000000   ( 968 MB)
    lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc03fe000   (4056 kB)
      .init : 0xc03fe000 - 0xc042c000   ( 184 kB)
      .data : 0xc042c000 - 0xc0471500   ( 278 kB)
       .bss : 0xc0471524 - 0xc0870434   (4092 kB)
<6>NR_IRQS:410
<6>IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
<6>Total of 96 interrupts on 1 active controller
<6>OMAP clockevent source: GPTIMER1 at 32768 Hz
<6>sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
<6>Console: colour dummy device 80x30
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES:  8
... MAX_LOCK_DEPTH:          48
... MAX_LOCKDEP_KEYS:        8191
... CLASSHASH_SIZE:          4096
... MAX_LOCKDEP_ENTRIES:     16384
... MAX_LOCKDEP_CHAINS:      32768
... CHAINHASH_SIZE:          16384
 memory used by lock dependency info: 3679 kB
 per task-struct memory footprint: 1152 bytes
<6>Calibrating delay loop... <c>493.67 BogoMIPS (lpj=1929216)
<6>pid_max: default: 32768 minimum: 301
<6>Mount-cache hash table entries: 512
<6>CPU: Testing write buffer coherency: ok
<6>Setting up static identity map for 0x80306128 - 0x80306180
<4>omap_hwmod: usbtll_fck: missing clockdomain for usbtll_fck.
<6>print_constraints: dummy: 
<6>NET: Registered protocol family 16
<6>GPMC revision 5.0
<6>gpiochip_add: registered GPIOs 0 to 31 on device: gpio
<6>OMAP GPIO hardware version 2.5
<6>gpiochip_add: registered GPIOs 32 to 63 on device: gpio
<6>gpiochip_add: registered GPIOs 64 to 95 on device: gpio
<6>gpiochip_add: registered GPIOs 96 to 127 on device: gpio
<6>gpiochip_add: registered GPIOs 128 to 159 on device: gpio
<6>gpiochip_add: registered GPIOs 160 to 191 on device: gpio
<6>omap_mux_init: Add partition: #1: core, flags: 0
<6>Reprogramming SDRC clock to 266000000 Hz
<3>dpll3_m2_clk rate change failed: -22
<4> omap-mcbsp.2: alias fck already exists
<4> omap-mcbsp.3: alias fck already exists
<6>OMAP DMA hardware revision 4.0
<1>Unable to handle kernel NULL pointer dereference at virtual address 0000016c
<1>pgd = c0004000
<1>[0000016c] *pgd=00000000
<0>Internal error: Oops: 5 [#1] PREEMPT ARM
<d>Modules linked in:
CPU: 0    Not tainted  (3.3.0-rc6+ #237)
PC is at __lock_acquire+0x94/0x7f0
LR is at lock_acquire+0x64/0x78
pc : [<c006a678>]    lr : [<c006ae38>]    psr: 80000093
sp : c181fcd0  ip : c181b7c0  fp : c181fd1c
r10: c03b1e5c  r9 : 00000000  r8 : c1883008
r7 : 00000000  r6 : c181e000  r5 : 60000013  r4 : 00000001
r3 : 00000168  r2 : 00000000  r1 : 00000000  r0 : 00000168
Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 80004019  DAC: 00000015
<0>Process swapper (pid: 1, stack limit = 0xc181e2e8)
<0>Stack: (0xc181fcd0 to 0xc1820000)
<0>fcc0:                                     60000013 00000001 00000000 00000000
<0>fce0: 00000168 c181b7c0 c181fd14 c181fcf8 c0017438 00000000 60000013 c181e000
<0>fd00: 00000000 c1883008 c047251c c03b1e5c c181fd54 c181fd20 c006ae38 c006a5f0
<0>fd20: 00000001 00000000 00000000 c01e0d94 00000000 c181fd40 c01e0d94 00000158
<0>fd40: 00000000 c1883010 c181fd7c c181fd58 c03057ec c006ade0 00000001 00000000
<0>fd60: c01e0d94 c1883008 c189d000 c189d000 c181fd9c c181fd80 c01e0d94 c03057b0
<0>fd80: c189d000 c189d000 00000000 c189d008 c181fdd4 c181fda0 c01e2124 c01e0cd0
<0>fda0: c01eabb8 c01ebaf4 c189d000 00000000 c181fdd4 c189d000 00000000 00000000
<0>fdc0: c1883008 c043f6c4 c181fdec c181fdd8 c01e24c0 c01e2060 00000000 c189d000
<0>fde0: c181fe14 c181fdf0 c01e2544 c01e24ac c181fe34 c043f6c4 00000000 c047229c
<0>fe00: c1883008 00000000 c181fe2c c181fe18 c01e2598 c01e24d0 c03b1e5c c181fe34
<0>fe20: c181fe64 c181fe30 c0033128 c01e2580 c03b1e5c c03a5188 c02fd748 c043f6c4
<0>fe40: c1883000 c047229c c043f724 c04654d8 00000000 00000000 c181fe84 c181fe68
<0>fe60: c02fd764 c00330e8 c1883008 c1883008 c043f740 c043f740 c181fe94 c181fe88
<0>fe80: c01e57c4 c02fd708 c181feb4 c181fe98 c01e4274 c01e57b0 c1883008 c043f740
<0>fea0: c043f740 c181fef0 c181fecc c181feb8 c01e439c c01e41e0 c1883008 c188303c
<0>fec0: c181feec c181fed0 c01e4428 c01e4358 c01e43b4 00000000 c01e43b4 c043f740
<0>fee0: c181ff14 c181fef0 c01e2c30 c01e43c0 c18330a8 c187d390 c042ac20 c043f740
<0>ff00: c043f740 c188e0c0 c181ff24 c181ff18 c01e40c0 c01e2be4 c181ff54 c181ff28
<0>ff20: c01e34b0 c01e40ac c03a6c2b c181ff38 c042ac20 c042af5c c043f740 00000013
<0>ff40: 00000000 c04095c8 c181ff7c c181ff58 c01e4ae4 c01e3414 00000201 c042ac20
<0>ff60: c042af5c c003a2f0 00000013 00000000 c181ff8c c181ff80 c01e5b24 c01e4a28
<0>ff80: c181ff9c c181ff90 c04095dc c01e5ae4 c181ffdc c181ffa0 c0008798 c04095d4
<0>ffa0: c181ffc4 c181ffb0 c00563c4 c01878d0 c003a2f0 c042ac20 c042af5c c003a2f0
<0>ffc0: 00000013 00000000 00000000 00000000 c181fff4 c181ffe0 c03fe284 c0008708
<0>ffe0: 00000000 c03fe208 00000000 c181fff8 c003a2f0 c03fe214 1077ce40 01f7ee08
Backtrace: 
[<c006a5e4>] (__lock_acquire+0x0/0x7f0) from [<c006ae38>] (lock_acquire+0x64/0x78)
[<c006add4>] (lock_acquire+0x0/0x78) from [<c03057ec>] (_raw_spin_lock+0x48/0x58)
 r7:c1883010 r6:00000000 r5:00000158 r4:c01e0d94
[<c03057a4>] (_raw_spin_lock+0x0/0x58) from [<c01e0d94>] (get_device_parent+0xd0/0x204)
 r5:c189d000 r4:c189d000
[<c01e0cc4>] (get_device_parent+0x0/0x204) from [<c01e2124>] (device_add+0xd0/0x44c)
 r7:c189d008 r6:00000000 r5:c189d000 r4:c189d000
[<c01e2054>] (device_add+0x0/0x44c) from [<c01e24c0>] (device_register+0x20/0x24)
 r8:c043f6c4 r7:c1883008 r6:00000000 r5:00000000 r4:c189d000
[<c01e24a0>] (device_register+0x0/0x24) from [<c01e2544>] (device_create_vargs+0x80/0xb0)
 r4:c189d000
[<c01e24c4>] (device_create_vargs+0x0/0xb0) from [<c01e2598>] (device_create+0x24/0x2c)
 r8:00000000 r7:c1883008 r6:c047229c r5:00000000 r4:c043f6c4
[<c01e2574>] (device_create+0x0/0x2c) from [<c0033128>] (omap_mbox_register+0x4c/0xe8)
[<c00330dc>] (omap_mbox_register+0x0/0xe8) from [<c02fd764>] (omap2_mbox_probe+0x68/0x88)
[<c02fd6fc>] (omap2_mbox_probe+0x0/0x88) from [<c01e57c4>] (platform_drv_probe+0x20/0x24)
 r7:c043f740 r6:c043f740 r5:c1883008 r4:c1883008
[<c01e57a4>] (platform_drv_probe+0x0/0x24) from [<c01e4274>] (really_probe+0xa0/0x178)
[<c01e41d4>] (really_probe+0x0/0x178) from [<c01e439c>] (driver_probe_device+0x50/0x68)
 r7:c181fef0 r6:c043f740 r5:c043f740 r4:c1883008
[<c01e434c>] (driver_probe_device+0x0/0x68) from [<c01e4428>] (__driver_attach+0x74/0x98)
 r5:c188303c r4:c1883008
[<c01e43b4>] (__driver_attach+0x0/0x98) from [<c01e2c30>] (bus_for_each_dev+0x58/0x98)
 r6:c043f740 r5:c01e43b4 r4:00000000
[<c01e2bd8>] (bus_for_each_dev+0x0/0x98) from [<c01e40c0>] (driver_attach+0x20/0x28)
 r7:c188e0c0 r6:c043f740 r5:c043f740 r4:c042ac20
[<c01e40a0>] (driver_attach+0x0/0x28) from [<c01e34b0>] (bus_add_driver+0xa8/0x22c)
[<c01e3408>] (bus_add_driver+0x0/0x22c) from [<c01e4ae4>] (driver_register+0xc8/0x154)
[<c01e4a1c>] (driver_register+0x0/0x154) from [<c01e5b24>] (platform_driver_register+0x4c/0x60)
 r8:00000000 r7:00000013 r6:c003a2f0 r5:c042af5c r4:c042ac20
[<c01e5ad8>] (platform_driver_register+0x0/0x60) from [<c04095dc>] (omap2_mbox_init+0x14/0x1c)
[<c04095c8>] (omap2_mbox_init+0x0/0x1c) from [<c0008798>] (do_one_initcall+0x9c/0x164)
[<c00086fc>] (do_one_initcall+0x0/0x164) from [<c03fe284>] (kernel_init+0x7c/0x120)
[<c03fe208>] (kernel_init+0x0/0x120) from [<c003a2f0>] (do_exit+0x0/0x2d8)
 r5:c03fe208 r4:00000000
<0>Code: e3590001 8a000005 e51b003c e0803109 (e5934004) 
<4>---[ end trace 1b75b31a2719ed1c ]---
<6>note: swapper[1] exited with preempt_count 1
<0>Kernel panic - not syncing: Attempted to kill init!

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux