[#3824] serial driver causes problems during PM suspend resume
Submitted By: Michael Hennerich
Open Date
2008-01-11 10:16:07 Close Date
2008-01-28 01:21:10
Priority:
High Assignee:
Sonic Zhang
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
2007R1 svn branch
Category:
N/A Board:
STAMP
Processor:
BF537 Silicon Revision:
0.3
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
trunk Toolchain version or rev.:
App binary format:
N/A
Summary: serial driver causes problems during PM suspend resume
Details:
The serial driver causes problems during PM suspend resume on 2007R1 svn branch
For the issue to recreate enable PM support (Cause Wakeup Event by GPIO PF2)
see PM test - and have PF2 constantly being asserted. (push button)
root:~> while [ 1 ];echo standby > /sys/power/state;done;
Stopping tasks ... done.
Suspending console(s)
After a while you will see one or all below reported issues.
If you type chars into the console while running this test - the bugs are more likely to happen.
This issue seems to be already fixed on 2008R1.
1) There are messages like this coming out of the dma driver:
Assertion failed! dma_ch[channel].chan_status != DMA_CHANNEL_FREE && channel < MAX_BLACKFIN_DMA_CHANNEL, arch/blackfin/kernel/bfin_dma_5xx.c, disable_dma, line=417
Unable to attach Blackfin UART TX DMA channel
Assertion failed! dma_ch[channel].chan_status != DMA_CHANNEL_FREE && channel < MAX_BLACKFIN_DMA_CHANNEL, arch/blackfin/kernel/bfin_dma_5xx.c, disable_dma, line=417
Assertion failed! dma_ch[channel].chan_status != DMA_CHANNEL_FREE && channel < MAX_BLACKFIN_DMA_CHANNEL, arch/blackfin/kernel/bfin_dma_5xx.c, get_dma_curr_xcount, line=583
Unable to attach Blackfin UART TX DMA channel
Error 1:
0: Waiting for input from trig
Stopping tasks: ========|
Suspending console(s)
Restarting tasks...<0>Data access CPLB miss
- Used by the MMU to signal a CPLB miss on a data access.
CURRENT PROCESS:
COMM=sh PID=92
TEXT = 0x92003060-0x92003060 DATA = 0x92003060-0x92003060
BSS = 0x92003060-0x92003060 USER-STACK = 0x92003060
return address: 0x0001d2a4; contents of [PC-16...PC+8]:
RETE: 00000000 RETN: 0027fe9c RETX: 0001d2a4 RETS: 0000e724
IPEND: 8030 SYSCFG: 0036
SEQSTAT: 00000026 SP: 0027fdc0
R0: 0000ffff R1: 0000001f R2: 00000000 R3: ffffffff
R4: ffffffff R5: 029dfac4 R6: ffffe000 R7: 00000004
P0: 92003060 P1: 0027febc P2: 0027fec8 P3: 02989920
P4: 00000072 P5: 02aadce8 FP: 0027fed0
A0.w: 00000000 A0.x: 00000000 A1.w: 00000000 A1.x: 00000000
LB0: 0285d687 LT0: 0285d674 LC0: fffffffd
LB1: 02930fdf LT1: 02930fde LC1: 00000000
B0: 00000000 L0: 00000000 M0: 00000000 I0: 029a0584
B1: 00000000 L1: 00000000 M1: 00000000 I1: ffffffff
B2: 00000000 L2: 00000000 M2: 00000000 I2: 00000000
B3: 00000000 L3: 00000000 M3: 00000000 I3: 00000000
USP: 029dfa70 ASTAT: 02003004
DCPLB_FAULT_ADDR=92003064
ICPLB_FAULT_ADDR=0001d2a4
Hardware Trace:
0 Target : <0x00004720> { _trap_c + 0x0 }
Source : <0xffa00b68> { _exception_to_level5 + 0xb4 }
1 Target : <0xffa00ab4> { _exception_to_level5 + 0x0 }
Source : <0xffa00ab2> { _ex_trap_c + 0x4e }
2 Target : <0xffa00a0c> { _handle_bad_cplb + 0x0 }
Source : <0xffa00504> { __cplb_hdr + 0x5c }
3 Target : <0xffa00502> { __cplb_hdr + 0x5a }
Source : <0x000046b2> { _panic_cplb_error + 0x16 }
4 Target : <0x0000469c> { _panic_cplb_error + 0x0 }
Source : <0xffa004fe> { __cplb_hdr + 0x56 }
5 Target : <0xffa004fa> { __cplb_hdr + 0x52 }
Source : <0xffa004ea> { __cplb_hdr + 0x42 }
6 Target : <0xffa004e4> { __cplb_hdr + 0x3c }
Source : <0xffa004de> { __cplb_hdr + 0x36 }
7 Target : <0xffa004dc> { __cplb_hdr + 0x34 }
Source : <0xffa004d4> { __cplb_hdr + 0x2c }
8 Target : <0xffa004d0> { __cplb_hdr + 0x28 }
Source : <0xffa00648> { _cplb_mgr + 0x140 }
9 Target : <0xffa00644> { _cplb_mgr + 0x13c }
Source : <0xffa007ac> { _cplb_mgr + 0x2a4 }
10 Target : <0xffa007a4> { _cplb_mgr + 0x29c }
Source : <0xffa007c0> { _cplb_mgr + 0x2b8 }
11 Target : <0xffa007a4> { _cplb_mgr + 0x29c }
Source : <0xffa007c0> { _cplb_mgr + 0x2b8 }
12 Target : <0xffa007a4> { _cplb_mgr + 0x29c }
Source : <0xffa007c0> { _cplb_mgr + 0x2b8 }
13 Target : <0xffa007a4> { _cplb_mgr + 0x29c }
Source : <0xffa007c0> { _cplb_mgr + 0x2b8 }
14 Target : <0xffa007a4> { _cplb_mgr + 0x29c }
Source : <0xffa007c0> { _cplb_mgr + 0x2b8 }
15 Target : <0xffa007a4> { _cplb_mgr + 0x29c }
Source : <0xffa007c0> { _cplb_mgr + 0x2b8 }
Stack from 0027fda0:
00000000 ffa00b6c 0012a714 0012a714 0012a710 00000044 00000002 000087ac
0001d2a4 00008030 00000026 00000000 0027fe9c 0001d2a4 0001d2a4 0000e724
0000ffff 02003004 02930fdf 0285d687 02930fde 0285d674 00000000 fffffffd
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 ffffffff 029a0584 029dfa70 0027fed0 02aadce8 00000072
Call Trace:
[<0000ffff>] _do_setitimer+0x2cb/0x520
[<0000ffff>] _do_setitimer+0x2cb/0x520
[<0000f01c>] _sys_wait4+0x0/0x34
[<0000f01c>] _sys_wait4+0x0/0x34
[<00009780>] _default_wake_function+0x0/0x10
[<0000f048>] _sys_wait4+0x2c/0x34
[<0000f01c>] _sys_wait4+0x0/0x34
[<00008000>] _irq_panic+0x104/0x144
Exception: IRQ 0x5 entered
code=[0x0000c026], stack frame=0x0027fdc0, bad PC=0x0001d2ba
----------- HARDWARE ERROR -----------
External Memory Addressing Error
CURRENT PROCESS:
COMM=sh PID=92
TEXT = 0x92003060-0x92003060 DATA = 0x92003060-0x92003060
BSS = 0x92003060-0x92003060 USER-STACK = 0x92003060
return address: 0x0001d2ba; contents of [PC-16...PC+8]:
RETE: 00000000 RETN: 0027fe9c RETX: 0001d2a4 RETS: 0000e724
IPEND: 8020 SYSCFG: 0036
SEQSTAT: 0000c026 SP: 0027fdc0
R0: 0000ffff R1: 0000001f R2: 00000000 R3: ffffffff
R4: ffffffff R5: 029dfac4 R6: ffffe000 R7: 00000004
P0: 92003060 P1: 0027febc P2: 0012a730 P3: 02989920
P4: 00000072 P5: 02aadce8 FP: 0027fed0
A0.w: 00000000 A0.x: 00000000 A1.w: 00000000 A1.x: 00000000
LB0: 0285d687 LT0: 0285d674 LC0: fffffffd
LB1: 02930fdf LT1: 02930fde LC1: 00000000
B0: 00000000 L0: 00000000 M0: 00000000 I0: 029a0584
B1: 00000000 L1: 00000000 M1: 00000000 I1: ffffffff
B2: 00000000 L2: 00000000 M2: 00000000 I2: 00000000
B3: 00000000 L3: 00000000 M3: 00000000 I3: 00000000
USP: 029dfa70 ASTAT: 02003004
DCPLB_FAULT_ADDR=92003064
ICPLB_FAULT_ADDR=0001d2a4
Error 2:
Kernel panic - not syncing: Unhandled IRQ or exceptions!
NULL pointer access (probably)
No Valid pid - Either things are really messed up, or you are in the kernel
return address: 0x00091a10; contents of [PC-16...PC+8]:
6c09 9b10 bcc1 6c0d e418 0025 304d 0908
1832 0000 e51a 0023 a1d9 3001 4c08 5a95 X
9952 ae1a 5407 0c00 9154 17cc e6b2 0013
RETE: 00000000 RETN: 00127e1c RETX: 00091a10 RETS: 00091d70
IPEND: c030 SYSCFG: 0036
SEQSTAT: 00000027 SP: 00127d40
R0: 00000000 R1: 00000000 R2: 00000001 R3: 00000000
R4: 00127e2f R5: 00127e2e R6: 00000000 R7: 00000000
P0: 00168764 P1: 02a987a0 P2: 00000000 P3: 001686cc
P4: 00127e7c P5: 00000000 FP: 02a66000
A0.w: 00000000 A0.x: 00000000 A1.w: 00000000 A1.x: 00000000
LB0: ffa01e46 LT0: ffa01e44 LC0: 00000000
LB1: 02930fdf LT1: 02930fde LC1: 00000000
B0: 00000000 L0: 00000000 M0: 00000000 I0: 00000001
B1: 00000000 L1: 00000000 M1: 00000000 I1: 00000000
B2: 00000000 L2: 00000000 M2: 00000000 I2: ffff44a1
B3: 00000000 L3: 00000000 M3: 00000000 I3: 00000000
USP: 00128000 ASTAT: 02002021
DCPLB_FAULT_ADDR=00000000
ICPLB_FAULT_ADDR=00091a10
Hardware Trace:
0 Target : <0x00004720> { _trap_c + 0x0 }
Source : <0xffa00b68> { _exception_to_level5 + 0xb4 }
1 Target : <0xffa00ab4> { _exception_to_level5 + 0x0 }
Source : <0xffa00ab2> { _ex_trap_c + 0x4e }
2 Target : <0xffa00a64> { _ex_trap_c + 0x0 }
Source : <0xffa00c08> { _trap + 0x28 }
3 Target : <0xffa00be0> { _trap + 0x0 }
Source : <0x00091a0e> { _bfin_serial_dma_rx_chars + 0xfa }
4 Target : <0x00091a04> { _fin_serial_dma_rx_chars + 0xf0 }
Source : <0x00091998> { _bfin_serial_dma_rx_chars + 0x84 }
5 Target : <0x00091988> { _bfin_serial_dma_rx_chars + 0x74 }
Source : <0x00091a82> { _bfin_serial_dma_rxchars + 0x16e }
6 Target : <0x00091a74> { _bfin_serial_dma_rx_chars + 0x160 }
Source : <0x00091984> { _bfin_serial_dma_rx_chars + 0x70 }
7 Target : <0x0009197e> { _bfin_serial_dma_rx_chars + 0x6a }
Source : <0x00091976> { _bfin_serial_dma_rx_chars + 0x62 }
8 Target : <0x00091974> { _bfin_serial_dma_rx_chars + 0x60 }
Source : <0x00091968> { _bfin_serial_dma_rx_chars + 0x54 }
9 Target : <0x00091966> { _bfin_serial_dma_rx_chars + 0x52 }
Source : <0x0009195a> { _bfin_serial_dma_rx_chars + 0x46 }
10 Target : <0x00091958> { _bfin_serial_dma_rx_chars + 0x44 }
Source : <0x00091940> { _bfin_serial_dma_rx_chars + 0x2c }
11 Target : <0x00091914> { _bfin_serial_dma_rx_chars + 0x0 }
Source : <0x00091d6c> { _bfin_serial_rx_dma_timeout + 0x7c }
12 Target : <0x00091d66>{ _bfin_serial_rx_dma_timeout + 0x76 }
Source : <0x00091d26> { _bfin_serial_rx_dma_timeout + 0x36 }
13 Target : <0x00091d06> { _bfin_serial_rx_dma_timeout + 0x16 }
Source : <0x000069b6> { _gt_dma_curr_xcount + 0x6a }
14 Target : <0x000069a2> { _get_dma_curr_xcount + 0x56 }
Source : <0x00006974> { _get_dma_curr_xcount + 0x28 }
15 Target : <0x0000694c> { _get_dma_curr_xcount + 0x0 }
Sourc : <0x00091d02> { _bfin_serial_rx_dma_timeout + 0x12 }
Stack from 00127d20:
00000000 ffa00b6c 0012a714 0012a714 0012a710 00000000 00000000 00000000
00091a10 0000c030 00000027 00000000 00127e1c 00091a10 00091a10 00091d70
00000000 02002021 02930fdf ffa01e46 02930fde ffa01e44 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 ffff44a1 00000000 00000001 00128000 02a66000 00000000 00127e7c
Call Trace:
[<000093d2>] _scheduler_tick+0xa/0x2c8
[<00091d70>] _bfin_serial_rx_dma_timeout+0x80/0xb4
[<00091cf0>] _bfin_serial_rx_dma_timeout+0x0/0xb4
[<0000ffff>] _do_setitimer+0x2c3/0x520
[<00013fe8>] _run_timer_softirq+0xb0/0x164
[<00011008>] _tasklet_action+0x50/0xa8
[<00010f0a>] ___do_softirq+0x5e/0xac
[<00008002>] _irq_panic+0x106/0x144
[<00008050>] _cplbinfo_write_proc+0x10/0x44
[<0000ffff>] _do_setitimer+0x2c3/0x520
[<001155a2>] _start_kernel+0x1ae/0x1d0
[<00115164>] _unknown_bootoption+0x0/0x234
[<000011f6>] _real_start+0x92/0x94
Kernel panic - not syncing: Kernel exception
Follow-ups
--- Sonic Zhang 2008-01-14 00:19:46
Fixed.
--- Michael Hennerich 2008-01-28 03:25:24
Close
-Michael
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found