IMX8M-NANO: Android 10.0.0_2.3.0 crash with CONFIG_DEBUG_FS enabled

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8M-NANO: Android 10.0.0_2.3.0 crash with CONFIG_DEBUG_FS enabled

1,440 Views
mps
Contributor I

Observed below crash with CONFIG_DEBUG_FS enabled

ledtrig-cpu: registered to indicate activity on CPUs
[ 2.108303] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.116667] usbcore: registered new interface driver usbhid
[ 2.122359] usbhid: USB HID core driver
[ 2.128641] mxc-isi 32e20000.isi: mxc_isi.0 registered successfully
[ 2.136202] mxc-mipi-csi2-sam 32e30000.csi: 32e30000.csi supply mipi-phy not found, using dummy regulator
[ 2.146402] mxc-mipi-csi2-sam 32e30000.csi: lanes: 2, hs_settle: 13, clk_settle: 2, wclk: 1, freq: 333000000
[ 2.158746] ashmem: initialized
[ 2.165910] galcore: clk_get 2d core clock failed, disable 2d/vg!
[ 2.172400] Galcore version 6.4.0.234062
[ 2.246209] Unable to handle kernel paging request at virtual address ffff800009043e34
[ 2.251763] mmc2: new HS400 Enhanced strobe MMC card at address 0001
[ 2.254143] Mem abort info:
[ 2.254146] ESR = 0x86000006
[ 2.262195] mmcblk2: mmc2:0001 AJTD4R 14.6 GiB
[ 2.263311] EC = 0x21: IABT (current EL), IL = 32 bits
[ 2.266617] mmcblk2boot0: mmc2:0001 AJTD4R partition 1 4.00 MiB
[ 2.270888] SET = 0, FnV = 0
[ 2.270891] EA = 0, S1PTW = 0
[ 2.276446] mmcblk2boot1: mmc2:0001 AJTD4R partition 2 4.00 MiB
[ 2.282130] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000041e3e000
[ 2.286079] mmcblk2rpmb: mmc2:0001 AJTD4R partition 3 4.00 MiB, chardev (236:0)
[ 2.288321] [ffff800009043e34] pgd=00000000bffff003, pud=00000000bfffe003, pmd=0000000000000000
[ 2.302941] mmcblk2: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[ 2.308267] Internal error: Oops: 86000006 [#1] PREEMPT SMP
[ 2.329921] Modules linked in:
[ 2.332985] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.4.24-01800-gc66653f63a84-dirty #1
[ 2.341159] Hardware name: Variscite VAR-SOM-MX8MN (DT)
[ 2.346384] pstate: 80400005 (Nzcv daif +PAN -UAO)
[ 2.351178] pc : 0xffff800009043e34
[ 2.354673] lr : gckKERNEL_Construct+0x368/0x708
[ 2.359287] sp : ffff80001003b8f0
[ 2.362599] x29: ffff80001003b970 x28: ffff00007adab230
[ 2.367910] x27: 0000000000000000 x26: ffff00007ada7958
[ 2.373221] x25: 0000000000000000 x24: ffff00007ada7818
[ 2.378531] x23: ffff00007adab800 x22: 0000000000000000
[ 2.383842] x21: ffff00007adeb000 x20: ffff00007ada7800
[ 2.389152] x19: ffff00007adab008 x18: 0000000000000000
[ 2.394462] x17: ffff00007a006790 x16: ffff80001218f000
[ 2.399773] x15: ffff80001218d000 x14: 0000000000000000
[ 2.405083] x13: ffff80001218dfff x12: ffff80001218dfff
[ 2.410394] x11: 0000000000000030 x10: 0101010101010101
[ 2.415704] x9 : 0000000000000002 x8 : 0000000000000000
[ 2.421014] x7 : 6eff64636e4c6f6e x6 : 0000000000008000
[ 2.426325] x5 : 0000000000000000 x4 : 0080000000000000
[ 2.431635] x3 : ffff00007ada7818 x2 : 0000000000000000
[ 2.436945] x1 : ffff00007adab800 x0 : 0000000018000000
[ 2.442256] Call trace:
[ 2.444702] 0xffff800009043e34
[ 2.447845] gckDEVICE_AddCore+0x48/0x184
[ 2.451855] gckGALDEVICE_Construct+0x4fc/0xb34
[ 2.456385] gpu_probe+0x90c/0xa44
[ 2.459790] platform_drv_probe+0x8c/0xb4
[ 2.463798] really_probe+0x254/0x540
[ 2.467459] driver_probe_device+0x60/0xf8
[ 2.471554] device_driver_attach+0x68/0xa4
[ 2.475736] __driver_attach+0xc0/0x140
[ 2.479571] bus_for_each_dev+0x78/0xc0
[ 2.483405] driver_attach+0x20/0x28
[ 2.486978] bus_add_driver+0xf8/0x1d8
[ 2.490727] driver_register+0x74/0x108
[ 2.494562] __platform_driver_register+0x40/0x48
[ 2.499267] gpu_init+0x44/0x94
[ 2.502411] do_one_initcall+0x138/0x2c8
[ 2.506338] do_initcall_level+0x14c/0x174
[ 2.510433] do_basic_setup+0x2c/0x44
[ 2.514095] kernel_init_freeable+0xbc/0x13c
[ 2.518368] kernel_init+0x14/0x290
[ 2.521855] ret_from_fork+0x10/0x18
[ 2.525441] Code: bad PC value
[ 2.528509] ---[ end trace 556a173f14c0c7a3 ]---
[ 2.533159] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 2.540818] SMP: stopping secondary CPUs
[ 2.545049] Kernel Offset: disabled

cheers,

mohit

Tags (1)
0 Kudos
3 Replies

1,324 Views
chenguoyin
NXP Employee
NXP Employee

May it be due to the kernel image size is too large, and overwrite the dtb when uboot try to load them both.

0 Kudos

1,324 Views
mps
Contributor I

No, there is no change in the size of boot.img(67,108,864 bytes).

cheers,

mohit

0 Kudos

1,324 Views
mps
Contributor I

Debugging further with CONFIG_DEBUG_FS enabled the crash comes when the control reaches gckDEVICE_Construct

     --->gckGALDEVICE_Construct (drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c)

             --->gcmkONERROR(gckDEVICE_Construct(device->os, &device->device)); (drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c)

I had put at the entry of gckDEVICE_Construct, however crash comes during the call it self and print doesn't show up.

If I make CONFIG_MXC_GPU_VIV as a lodable module (CONFIG_MXC_GPU_VIV=m) an load it from init.rc I don't see this crash instead see a Android system error after boot up "There's an internal problem with your device. Contact your manufacturer for details" and debugfs gets mounted( /sys/kernel/debug).

cheers,

mohit

0 Kudos