imx6 reboot hangs at flush_pmd_entry

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

imx6 reboot hangs at flush_pmd_entry

Jump to solution
2,636 Views
agherzan
Contributor II

We have an IMX6Q platform on which we encounter a very strange issue.

While rebooting the system, platform hangs @ flush_pmd_entry(pmd). This is probably because one of the CPUs ends up crashing and won't restart. Don't have a debugger to check the actual state of the machine.

log:

root@android:/ # reboot

[   15.914484] SysRq : Emergency Remount R/O

[   15.930771] EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)

[   15.949119] EXT4-fs (mmcblk0p5): re-mounted. Opts: (null)

[   15.963710] EXT4-fs (mmcblk0p7): re-mounted. Opts: (null)

[   15.969570] Emergency Remount complete

[   16.022363] imx2-wdt imx2-wdt.0: Device shutdown: Expect reboot!

[   16.028632] Restarting system.

<HANG>

Mention: using fsl kernel 3.0.35

The exact asm line where system hangs is (tlbflush.h):

<>if (tlb_flag(TLB_DCLEAN))                                                                                                                                                                                                                 

<><-->asm("mcr<-->p15, 0, %0, c7, c10, 1<>@ flush_pmd"                                                                                                                                                                                      

<><--><-->: : "r" (pmd) : "cc");

Labels (2)
Tags (4)
0 Kudos
1 Solution
1,145 Views
agherzan
Contributor II

We found the root of the issue. It seems like activating one of these CONFIGs generated this issue:

CONFIG_ARM_ERRATA_430973=y
CONFIG_ARM_ERRATA_458693=y
CONFIG_ARM_ERRATA_460075=y
CONFIG_ARM_ERRATA_742230=y
CONFIG_ARM_ERRATA_742231=y
CONFIG_PL310_ERRATA_588369=y
CONFIG_ARM_ERRATA_720789=y
CONFIG_PL310_ERRATA_727915=y
CONFIG_ARM_ERRATA_743622=y
CONFIG_ARM_ERRATA_751472=y
CONFIG_ARM_ERRATA_794072=y
CONFIG_ARM_ERRATA_761320=y
CONFIG_ARM_ERRATA_753970=y
CONFIG_ARM_ERRATA_754322=y
CONFIG_ARM_ERRATA_754327=y

Deactivating these configs fixed this.

View solution in original post

0 Kudos
2 Replies
1,146 Views
agherzan
Contributor II

We found the root of the issue. It seems like activating one of these CONFIGs generated this issue:

CONFIG_ARM_ERRATA_430973=y
CONFIG_ARM_ERRATA_458693=y
CONFIG_ARM_ERRATA_460075=y
CONFIG_ARM_ERRATA_742230=y
CONFIG_ARM_ERRATA_742231=y
CONFIG_PL310_ERRATA_588369=y
CONFIG_ARM_ERRATA_720789=y
CONFIG_PL310_ERRATA_727915=y
CONFIG_ARM_ERRATA_743622=y
CONFIG_ARM_ERRATA_751472=y
CONFIG_ARM_ERRATA_794072=y
CONFIG_ARM_ERRATA_761320=y
CONFIG_ARM_ERRATA_753970=y
CONFIG_ARM_ERRATA_754322=y
CONFIG_ARM_ERRATA_754327=y

Deactivating these configs fixed this.

0 Kudos
1,145 Views
igorpadykov
NXP Employee
NXP Employee

Hi agherzan

what reference board you followed designing your board ?

Is it Freescale Sabre board ? On Sabre board this should not

happen because reset (Wdog output) connected to MMPF0100

PWRON (SPF-27392 rev.C3.pdf schematic), which cold reset whole

system. So all CPUs should restart healthly.

If it is not so, then this problem seems reported below

Discussing the Linux ARM kernel

Since this is common problem for arm kernels please post this issue

on that forum.

Best regards

chip

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------