[#6108] Read SPORT0_TX via debugfs mmrs will cause kernel crash on bf561-ezkit
Submitted By: Vivi Li
Open Date
2010-07-11 23:13:06 Close Date
2010-08-17 22:05:16
Priority:
Low Assignee:
Mike Frysinger
Status:
Closed Fixed In Release:
N/A
Found In Release:
2010R1 Release:
Category:
N/A Board:
EZKIT Lite
Processor:
BF561 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
gcc4.3-2010_Apr_07
App binary format:
N/A
Summary: Read SPORT0_TX via debugfs mmrs will cause kernel crash on bf561-ezkit
Details:
Read SPORT0_TX via debugfs mmrs will cause kernel crash on bf561-ezkit.
On bf537-stamp:
--
/sys/kernel/debug/blackfin/SPORT/SPORT0_TX
cat: read error: Permission denied
--
On bf561-ezkit:
--
cat /sys/kernel/debug/blackfin/SPORT/SPORT0_TX
System MMR Error
<5> - An error occurred due to an invalid access to an System MMR location
<5> Possible reason: a 32-bit register is accessed with a 16-bit instruction
<5> or a 16-bit register is accessed with a 32-bit instruction.
Kernel OOPS in progress
HW Error context
CURRENT PROCESS:
COMM=cat PID=258 CPU=0
TEXT = 0x02a00040-0x02a496c0 DATA = 0x02a496e0-0x02a5ab40
BSS = 0x02a5ab40-0x02a5c4b0 USER-STACK = 0x02a64f58
return address: [0x000088a0]; contents of:
0x00008880: 0040 6081 4350 0808 1821 3212 6c62 9510
0x00008890: 60f9 5408 6408 6081 0908 1412 3212 9510
0x000088a0: [9308] 6000 b048 6200 5403 0c00 1c07 e14a
0x000088b0: 0015 e10a da5c 9110 0040 6000 0010 3212
Looks like this was a deferred error - sorry
ADSP-BF561-0.5 600(MHz CCLK) 100(MHz SCLK) (mpu off)
Linux version 2.6.34.1-ADI-2010R1-pre-svn8982 (test@uclinux66-561ezkit) (gcc version 4.3.4 (ADI-trunk/svn-3951) ) #344 Mon Jul 12 06:15:59 GMT 2010
SEQUENCER STATUS: Not tainted
SEQSTAT: 0000a03f IPEND: 8030 IMASK: 0000 SYSCFG: 0006
Global Interrupts Disabled (IPEND[4])
Peripheral interrupts masked off
Kernel interrupts masked off
HWERRCAUSE: 0x2
EXCAUSE : 0x3f
interrupts disabled
physical IVG5 asserted : <0xffa00d9c> { _evt_ivhw + 0x0 }
physical IVG15 asserted : <0xffa01118> { _evt_system_call + 0x0 }
logical irq 6 mapped : <0xffa0046c> { _bfin_coretmr_interrupt + 0x0 }
logical irq 35 mapped : <0x0009d20c> { _bfin_serial_dma_rx_int + 0x0 }
logical irq 36 mapped : <0x0009cf74> { _bfin_serial_dma_tx_int + 0x0 }
logical irq 82 mapped : <0x000a9d8c> { _smc_interrupt + 0x0 }
RETE: <0x00000000> /* Maybe null pointer? */
RETN: <0x02916000> /* kernel dynamic memory (maybe user-space) */
RETX: <0x02a02fb6> /* kernel dynamic memory (maybe user-space) */
RETS: <0x0005676c> { _simple_attr_read + 0x78 }
PC : <0x000088a0> { _sport_get + 0x28 }
PROCESSOR STATE:
R0 : 00000000 R1 : 00000010 R2 : ffc00810 R3 : 0000ffff
R4 : 00001000 R5 : 02a63e64 R6 : 026b6820 R7 : 00000000
P0 : 026a7990 P1 : 02915e8c P2 : ffc00810 P3 : 02a63e64
P4 : 02915ef0 P5 : 026b67e0 FP : 02a63e2c SP : 02915d9c
LB0: 02a0c9f3 LT0: 02a0c9ea LC0: 0000000e
LB1: 0298cc61 LT1: 0298cc16 LC1: 00000000
B0 : 00000000 L0 : 00000000 M0 : 00000004 I0 : 02a64fed
B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : 02a54878
B2 : 00000000 L2 : 00000000 M2 : 00000000 I2 : 02a64e9c
B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 00000000
A0.w: 0000147a A0.x: 00000000 A1.w: 0000147a A1.x: 00000000
USP : 02a63e20 ASTAT: 02000022
Hardware Trace:
0 Target : <0xffa00e54> { _evt_ivhw + 0xb8 }
Source : <0xffa00e36> { _evt_ivhw + 0x9a } 0xe10a2108
1 Target : <0xffa00e28> { _evt_ivhw + 0x8c }
Source : <0xffa00e18> { _evt_ivhw + 0x7c } 0x6000
2 Target : <0xffa00e14> { _evt_ivhw + 0x78 }
Source : <0xffa00d9c> { _evt_ivhw + 0x0 } SSYNC
3 Target : <0x0000889e> { _sport_get + 0x26 }
Source : <0x0000888e> { _sport_get + 0x16 } R0 = W[P2] (Z)
4 Target : <0x000088ce> { _sport_get + 0x56 }
Source : <0x000088ca> { _sport_get + 0x52 } 0x3212
5 Target : <0x00008888> { _sport_get + 0x10 }
Source : <0x00008878> { _sport_get + 0x0 } 0x3010
6 Target : <0x0005676a> { _simple_attr_read + 0x76 }
Source : <0x00056762> { _simple_attr_read + 0x6e } P2 = [P5]
7 Target : <0x0005672a> { _simple_attr_read + 0x36 }
Source : <0x0005671c> { _simple_attr_read + 0x28 } 0x3038
8 Target : <0xffa027d4> { _mutex_lock_interruptible + 0x38 }
Source : <0xffa027a8> { _mutex_lock_interruptible + 0xc } CLI R0
9 Target : <0xffa01f0c> { __cond_resched + 0x20 }
Source : <0xffa01f06> { __cond_resched + 0x1a } 0x6000
10 Target : <0xffa01efe> { __cond_resched + 0x12 }
Source : <0xffa01eec> { __cond_resched + 0x0 } 0x3046
11 Target : <0xffa027a4> { _mutex_lock_interruptible + 0x8 }
Source : <0xffa0279c> { _mutex_lock_interruptible + 0x0 } 0x04c5
12 Target : <0x00056718> { _simple_attr_read + 0x24 }
Source : <0x000566f4> { _simple_attr_read + 0x0 } 0x3210
13 Target : <0x0004357e> { _vfs_read + 0x62 }
Source : <0x00043564> { _vfs_read + 0x48 } 0x3028
14 Target : <0x00042cf8> { _rw_verify_area + 0x44 }
Source : <0x00042cb4> { _rw_verify_area + 0x0 } 0x05f5
15 Target : <0x00043560> { _vfs_read + 0x44 }
Source : <0x00003ef4> { _trap_c + 0x0 } 0x05e5
Kernel Stack
Stack info:
SP: [0x02915f24] <0x02915f24> /* kernel dynamic memory (maybe user-space) */
Memory from 0x02915f20 to 02916000
02915f20: 00000003 [02a02fb6] 00008000 00002000 00000000 02916000 02a02fb6 02a02fb6
02915f40: 02a19a00 ffa0117c 02000000 0298cc61 02a0c9f3 0298cc16 02a0c9ea 00000000
02915f60: 0000000e 0000147a 00000000 0000147a 00000000 00000000 00000000 00000000
02915f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
02915fa0: 00000004 00000000 02a64e9c 02a54878 02a64fed 02a63e20 02a63e2c 02a5bac8
02915fc0: 00000000 02a63e64 02a5bf98 <02a64f80> 00000003 00001000 02a63e64 00000003
02915fe0: 00000001 <02a64f80> 00001000 02a63e64 00000003 00000003 00000003 00000006
Return addresses in stack:
address : <0x02a64f80> /* kernel dynamic memory (maybe user-space) */
address : <0x02a64f80> /* kernel dynamic memory (maybe user-space) */
Modules linked in:
Kernel panic - not syncing: Kernel exception
Hardware Trace:
Stack info:
SP: [0x02915cc0] <0x02915cc0> /* kernel dynamic memory (maybe user-space) */
FP: (0x02915ef8)
Memory from 0x02915cc0 to 02916000
02915cc0:[00121b70] 000f981e 02915d9c 00121b70 001514be 001514be 001514be 02915cf0
02915ce0: 00004320 02915d9c 00000000 02915d9c 0000003f 0000003f 0000064f 00000000
02915d00: 00030001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
02915d20: 026a50d4 00040950 00200200 00000000 00000000 000567ca 0272c840 00008878
02915d40: 00008828 00126e0c 00000000 00000001 02a63b10 0000897c 0272c840 026a7990
02915d60: 00008958 00000000 0200df20 00000000 02915dd0 0200df20 ffa00e58 ffc00014
02915d80: 00000000 026b6820 02a63e64 00001000 00000024 00000001 00041990 02a02fb6
02915da0: 00008030 0000a03f 00000000 02916000 02a02fb6 000088a0 <0005676c> 00000000
02915dc0: 02000022 0298cc61 02a0c9f3 0298cc16 02a0c9ea 00000000 0000000e 0000147a
02915de0: 00000000 0000147a 00000000 00000000 00000000 00000000 00000000 00000000
02915e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000004 00000000
02915e20: 02a64e9c 02a54878 02a64fed 02a63e20 02a63e2c 026b67e0 02915ef0 02a63e64
02915e40: ffc00810 02915e8c 026a7990 00000000 026b6820 02a63e64 00001000 0000ffff
02915e60: ffc00810 00000010 00000000 00000000 026a7990 00000006 00000001 00000001
02915e80: 00000000 0272c840 00157c7c 00000002 026a7990 <00043580> 0272c840 00000003
02915ea0: 02915ef0 02a63e64 00001000 00000001 00000020 00000003 02913000 02915ef0
02915ec0: 00001000 02913000 000436a8 0272c840 00000003 02a63e64 00001000 00000003
02915ee0: 00000007 00000000 ffffe000 02915ef0 00000000 00000000 (00000000)<ffa009d6>
02915f00: 00043678 00000000 ffffe000 0203eff6 020628e0 00000001 <02a64f80> 00000001
02915f20: 00000003 02a02fb6 00008000 00002000 00000000 02916000 02a02fb6 02a02fb6
02915f40: 02a19a00 ffa0117c 02000000 0298cc61 02a0c9f3 0298cc16 02a0c9ea 00000000
02915f60: 0000000e 0000147a 00000000 0000147a 00000000 00000000 00000000 00000000
02915f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
02915fa0: 00000004 00000000 02a64e9c 02a54878 02a64fed 02a63e20 02a63e2c 02a5bac8
02915fc0: 00000000 02a63e64 02a5bf98 <02a64f80> 00000003 00001000 02a63e64 00000003
02915fe0: 00000001 <02a64f80> 00001000 02a63e64 00000003 00000003 00000003 00000006
Return addresses in stack:
address : <0x0005676c> { _simple_attr_read + 0x78 }
address : <0x00043580> { _vfs_read + 0x64 }
frame 1 : <0xffa009d6> { _system_call + 0x6a }
address : <0x02a64f80> /* kernel dynamic memory (maybe user-space) */
address : <0x02a64f80> /* kernel dynamic memory (maybe user-space) */
address : <0x02a64f80> /* kernel dynamic memory (maybe user-space) */
--
Follow-ups
--- Mike Frysinger 2010-07-23 02:27:42
not a regression, and i'll do a bit of rework to address this after the release
--- Mike Frysinger 2010-07-29 00:02:42
looks like i typoed the xml files when marking the SPORT TX regs as write only
and instead marked the RX reg as write only. fixed that up and things should be
ok now.
--- Vivi Li 2010-08-17 22:05:16
OK now, close it.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
config.linux.debug_mmrs application/octet-stream 30598 Vivi Li