[#6111] Read SPT1_TX via debugfs mmrs will cause kernel crash on bf533
Submitted By: Vivi Li
Open Date
2010-07-11 23:39:31 Close Date
2010-08-17 22:29:44
Priority:
Low Assignee:
Mike Frysinger
Status:
Closed Fixed In Release:
N/A
Found In Release:
2010R1 Release:
Category:
N/A Board:
N/A
Processor:
BF533 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 SPT1_TX via debugfs mmrs will cause kernel crash on bf533
Details:
Read SPT1_TX via debugfs mmrs will cause kernel crash on bf533-ezkit/bf533-stamp.
--
cat /sys/kernel/debug/blackfin/SPT1/SPT1_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=207 CPU=0
TEXT = 0x00480040-0x004c98a0 DATA = 0x004c98c0-0x004dad20
BSS = 0x004dad20-0x004dc690 USER-STACK = 0x004e4f58
return address: [0x0007b990]; contents of:
0x0007b970: 0010 0000 0000 3210 6000 9711 0010 0000
0x0007b980: 3210 3209 9510 42c0 6001 9308 b049 6000
0x0007b990: [0010] 0000 0000 3210 6000 9311 0010 0000
0x0007b9a0: 3210 3209 9110 9308 6000 b048 0010 0000
ADSP-BF533-0.3(Detected 0.4) 594(MHz CCLK) 118(MHz SCLK) (mpu off)
Linux version 2.6.34.1-ADI-2010R1-pre-svn8982 (test@uclinux67-533ezkit) (gcc version 4.3.4 (ADI-trunk/svn-3951) ) #258 Mon Jul 12 01:28:54 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 : <0xffa00d4c> { _evt_ivhw + 0x0 }
physical IVG15 asserted : <0xffa010c8> { _evt_system_call + 0x0 }
logical irq 6 mapped : <0xffa003f4> { _bfin_coretmr_interrupt + 0x0 }
logical irq 14 mapped : <0x000baffc> { _bfin_rtc_interrupt + 0x0 }
logical irq 21 mapped : <0x000a9c1c> { _bfin_serial_dma_rx_int + 0x0 }
logical irq 22 mapped : <0x000a9964> { _bfin_serial_dma_tx_int + 0x0 }
logical irq 42 mapped : <0x000b826c> { _smc_interrupt + 0x0 }
RETE: <0x00000000> /* Maybe null pointer? */
RETN: <0x0106a000> /* kernel dynamic memory (maybe user-space) */
RETX: <0x00482fb6> /* kernel dynamic memory (maybe user-space) */
RETS: <0x0005a872> { _simple_attr_read + 0x7e }
PC : <0x0007b990> { _debugfs_u16_get + 0x10 }
PROCESSOR STATE:
R0 : 00000000 R1 : 00000000 R2 : 00000000 R3 : 00000000
R4 : 00001000 R5 : 004e3e64 R6 : 0165d100 R7 : 00000000
P0 : 014b39b0 P1 : 01069e8c P2 : ffc00910 P3 : 004e3e64
P4 : 01069ef0 P5 : 0165d0c0 FP : 004e3e2c SP : 01069d9c
LB0: 0048c9f3 LT0: 0048c9ea LC0: 0000000e
LB1: 0040cc61 LT1: 0040cc16 LC1: 00000000
B0 : 00000000 L0 : 00000000 M0 : 00000004 I0 : 004e4fed
B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : 004d4a58
B2 : 00000000 L2 : 00000000 M2 : 00000000 I2 : 004e4e9c
B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 00000000
A0.w: 0000147a A0.x: 00000000 A1.w: 0000147a A1.x: 00000000
USP : 004e3e20 ASTAT: 02000021
Hardware Trace:
0 Target : <0xffa00e04> { _evt_ivhw + 0xb8 }
Source : <0xffa00de6> { _evt_ivhw + 0x9a } 0xe10a2108
1 Target : <0xffa00dd8> { _evt_ivhw + 0x8c }
Source : <0xffa00dc8> { _evt_ivhw + 0x7c } 0x6000
2 Target : <0xffa00dc4> { _evt_ivhw + 0x78 }
Source : <0xffa00d4c> { _evt_ivhw + 0x0 } SSYNC
3 Target : <0x0007b98e> { _debugfs_u16_get + 0xe }
Source : <0x0007b980> { _debugfs_u16_get + 0x0 } 0x3210
4 Target : <0x0005a870> { _simple_attr_read + 0x7c }
Source : <0x0005a868> { _simple_attr_read + 0x74 } 0x304e
5 Target : <0x0005a830> { _simple_attr_read + 0x3c }
Source : <0x0005a81c> { _simple_attr_read + 0x28 } 0x3038
6 Target : <0xffa02984> { _mutex_lock_interruptible + 0x38 }
Source : <0xffa02958> { _mutex_lock_interruptible + 0xc } CLI R0
7 Target : <0xffa020a4> { __cond_resched + 0x20 }
Source : <0xffa0209e> { __cond_resched + 0x1a } 0x6000
8 Target : <0xffa02096> { __cond_resched + 0x12 }
Source : <0xffa02084> { __cond_resched + 0x0 } 0x3046
9 Target : <0xffa02954> { _mutex_lock_interruptible + 0x8 }
Source : <0xffa0294c> { _mutex_lock_interruptible + 0x0 } 0x04c5
10 Target : <0x0005a818> { _simple_attr_read + 0x24 }
Source : <0x0005a7f4> { _simple_attr_read + 0x0 } 0x3210
11 Target : <0x0004679c> { _vfs_read + 0x68 }
Source : <0x0004677c> { _vfs_read + 0x48 } 0x3028
12 Target : <0x00045f06> { _rw_verify_area + 0x62 }
Source : <0x00045ef0> { _rw_verify_area + 0x4c } 0x0c00
13 Target : <0x00081448> { _cap_file_permission + 0x8 }
Source : <0x00081440> { _cap_file_permission + 0x0 } NOP
14 Target : <0x00080c12> { _security_file_permission + 0xe }
Source : <0x00080c04> { _security_file_permission + 0x0 } 0xe14a0016
15 Target : <0x00045eec> { _rw_verify_area + 0x48 }
Source : <0x00003f08> { _trap_c + 0x0 } 0x05e5
Kernel Stack
Stack info:
SP: [0x01069f24] <0x01069f24> /* kernel dynamic memory (maybe user-space) */
Memory from 0x01069f20 to 0106a000
01069f20: 00000003 [00482fb6] 00008000 00002000 00000000 0106a000 00482fb6 00482fb6
01069f40: 00499a00 ffa0112c 02000000 0040cc61 0048c9f3 0040cc16 0048c9ea 00000000
01069f60: 0000000e 0000147a 00000000 0000147a 00000000 00000000 00000000 00000000
01069f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
01069fa0: 00000004 00000000 004e4e9c 004d4a58 004e4fed 004e3e20 004e3e2c 004dbca8
01069fc0: 00000000 004e3e64 004dc178 004e4f83 00000003 00001000 004e3e64 00000003
01069fe0: 00000001 004e4f83 00001000 004e3e64 00000003 00000003 00000003 00000006
Return addresses in stack:
Modules linked in:
Kernel panic - not syncing: Kernel exception
Hardware Trace:
Stack info:
SP: [0x01069cc0] <0x01069cc0> /* kernel dynamic memory (maybe user-space) */
FP: (0x01069e90)
Memory from 0x01069cc0 to 0106a000
01069cc0:[0013770c] 0010d2aa 01069d9c 0013770c 0016637e 0016637e 0016637e 01069cf0
01069ce0: 00004352 01069d9c 00000000 01069d9c 0000ffff 0000003f ffa01802 00000000
01069d00: 00030001 00000308 00000000 0000322c 00000000 00000000 00000000 014b2cb4
01069d20: 00043a4e 00200200 00000000 00000000 0005a8ce 017156c0 0007b980 0007b974
01069d40:<001432c0> 00000000 00000000 01264540 0007bed8 017156c0 014b39b0 0100df20
01069d60: 00000000 0007beb4 00000000 014b39b0 00000024 00000024 ffa00e08 ffc00014
01069d80: 00000000 0165d100 004e3e64 00001000 00000001 00044a20 017156c0 00482fb6
01069da0: 00008030 0000a03f 00000000 0106a000 00482fb6 0007b990 <0005a872> 00000000
01069dc0: 02000021 0040cc61 0048c9f3 0040cc16 0048c9ea 00000000 0000000e 0000147a
01069de0: 00000000 0000147a 00000000 00000000 00000000 00000000 00000000 00000000
01069e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000004 00000000
01069e20: 004e4e9c 004d4a58 004e4fed 004e3e20 004e3e2c 0165d0c0 01069ef0 004e3e64
01069e40: ffc00910 01069e8c 014b39b0 00000000 0165d100 004e3e64 00001000 00000000
01069e60: 00000000 00000000 00000000 00000000 014b39b0 00000006 00000001 00000001
01069e80: 00000000 017156c0 0016ca38 00000000 (00000000)<0004679e> 017156c0 00000003
01069ea0: 01069ef0 004e3e64 00001000 00000001 00000020 00000003 0174d000 01069ef0
01069ec0: 00001000 0174d000 000468c4 017156c0 00000003 004e3e64 00001000 00000003
01069ee0: 00000007 00000000 ffffe000 01069ef0 00000000 00000000 00000000 <ffa00986>
01069f00: 00046894 00000000 ffffe000 0103aff6 01040b80 00000001 004e4f83 00000001
01069f20: 00000003 00482fb6 00008000 00002000 00000000 0106a000 00482fb6 00482fb6
01069f40: 00499a00 ffa0112c 02000000 0040cc61 0048c9f3 0040cc16 0048c9ea 00000000
01069f60: 0000000e 0000147a 00000000 0000147a 00000000 00000000 00000000 00000000
01069f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
01069fa0: 00000004 00000000 004e4e9c 004d4a58 004e4fed 004e3e20 004e3e2c 004dbca8
01069fc0: 00000000 004e3e64 004dc178 004e4f83 00000003 00001000 004e3e64 00000003
01069fe0: 00000001 004e4f83 00001000 004e3e64 00000003 00000003 00000003 00000006
Return addresses in stack:
address : <0x001432c0> /* kernel dynamic memory (maybe user-space) */
address : <0x0005a872> { _simple_attr_read + 0x7e }
frame 1 : <0x0004679e> { _vfs_read + 0x6a }
address : <0xffa00986> { _system_call + 0x6a }
--
Follow-ups
--- Mike Frysinger 2010-07-23 02:27:56
not a regression, and i'll do a bit of rework to address this after the release
--- Mike Frysinger 2010-07-28 04:18:23
the SPT entries are dupes of the SPORT entries, and the SPORT entries are
already fixed, so ive just punted the SPT entries completely
--- Robin Getz 2010-08-03 17:57:39
The regression is that the trace is wrong...
Source and target are mixed up for some reason. Does this happen on all traces
now?
-Robin
--- Mike Frysinger 2010-08-05 11:27:26
ive split that issue into [#6153] so we can close this one out wrt debug mmrs
--- Vivi Li 2010-08-17 22:29:44
OK, close it.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
config.linux.debug_mmrs.bf533-ezkit application/octet-stream 30930 Vivi Li