AnsweredAssumed Answered

in  imx53  , sometimes when android system boot up,   kernel hung up in mxcuart_rx_chars  function.

Question asked by 潘 紫东 on Jun 27, 2013
Latest reply on Jun 28, 2013 by 潘 紫东

<1> was linux kernel   print before it hung up;

<2>  which instruction execution   case kernel dead;

<3>  i use objdump tool,find which line in mxcuart_rx_chars case kernel dead.

this is too odd.

 

<1>
modules linked in:
CPU: 0    Not tainted  (2.6.35.3-01262-g5adda37-dirty #203)
PC is at mxcuart_rx_chars+0x38/0x228
LR is at mxcuart_int+0x74/0x20c
pc : [<c022eda0>]    lr : [<c022f228>]    psr: 20000193
sp : d3029c50  ip : 00000000  fp : 00000000
r10: d3029c5f  r9 : 00000004  r8 : d3029c5e
r7 : 00000100  r6 : c06e23ac  r5 : 00000100  r4 : c0669be8
r3 : d5112000  r2 : 0000408d  r1 : c0669be8  r0 : c0669be8
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 832ec019  DAC: 00000015
Process init (pid: 1, stack limit = 0xd30282e8)
Stack: (0xd3029c50 to 0xd302a000)

 

<2>

[<c022eda0>] (mxcuart_rx_chars+0x38/0x228) from [<c022f228>] (mxcuart_int+0x74/0x20c)

[<c022f228>] (mxcuart_int+0x74/0x20c) from [<c00a1798>] (handle_IRQ_event+0x24/0xe4)

[<c00a1798>] (handle_IRQ_event+0x24/0xe4) from [<c00a3a34>] (handle_level_irq+0xd4/0x16c)

[<c00a3a34>] (handle_level_irq+0xd4/0x16c) from [<c003906c>] (asm_do_IRQ+0x6c/0x8c)

[<c003906c>] (asm_do_IRQ+0x6c/0x8c) from [<c0039a8c>] (__irq_svc+0x4c/0xcc)

 

 

 

 

<3>

static void mxcuart_rx_chars(uart_mxc_port *umxc)

{

        volatile unsigned int ch, sr2;

        unsigned int status, flag, max_count = 256;

 

 

        sr2 = readl(umxc->port.membase + MXC_UARTUSR2);

        while (((sr2 & MXC_UARTUSR2_RDR) == 1) && (max_count-- > 0)) {

c022ed98:       ea000072        b       c022ef68 <mxcuart_rx_chars+0x200>

                ch = readl(umxc->port.membase + MXC_UARTURXD);

c022ed9c:       e5943004        ldr     r3, [r4, #4]

c022eda0:       e5933000        ldr     r3, [r3]

c022eda4:       f57ff05f        dmb     sy

c022eda8:       e58d3008        str     r3, [sp, #8]

Outcomes