[#6110] Read RSI_STATUSCL via debugfs mmrs will cause kernel crash on bf518-ezbrd
Submitted By: Vivi Li
Open Date
2010-07-11 23:34:28 Close Date
2010-08-24 22:56:39
Priority:
Low Assignee:
Mike Frysinger
Status:
Closed Fixed In Release:
N/A
Found In Release:
2010R1 Release:
Category:
N/A Board:
EZBRD
Processor:
BF518 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 RSI_STATUSCL via debugfs mmrs will cause kernel crash on bf518-ezbrd
Details:
Read RSI_STATUSCL via debugfs mmrs will cause kernel crash on bf518-ezbrd.
--
/sys/kernel/debug/blackfin/RSI/RSI_STATUSCL
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=342 CPU=0
TEXT = 0x02980040-0x029c9860 DATA = 0x029c9880-0x029dace0
BSS = 0x029dace0-0x029dc650 USER-STACK = 0x029e4f54
return address: [0x00078b60]; contents of:
0x00078b40: b049 6000 0010 0000 3210 6000 9711 0010
0x00078b50: 3210 3209 9510 42c0 6001 9308 b049 6000
0x00078b60: [0010] 0000 3210 6000 9311 0010 3210 3209
0x00078b70: 9110 9308 6000 b048 0010 0000 3210 6000
ADSP-BF518-0.1 400(MHz CCLK) 80(MHz SCLK) (mpu off)
Linux version 2.6.34.1-ADI-2010R1-pre-svn8982 (test@uclinux80-bf518f) (gcc version 4.3.4 (ADI-trunk/svn-3951) ) #8 Sun Jul 11 12:47:25 CST 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 : <0xffa00cb0> { _evt_ivhw + 0x0 }
physical IVG15 asserted : <0xffa00fa0> { _evt_system_call + 0x0 }
logical irq 6 mapped : <0xffa0039c> { _bfin_coretmr_interrupt + 0x0 }
logical irq 21 mapped : <0x000b61c0> { _bfin_rtc_interrupt + 0x0 }
logical irq 27 mapped : <0x000b8b38> { _bfin_twi_interrupt_entry + 0x0 }
logical irq 29 mapped : <0x000a2be4> { _bfin_serial_dma_rx_int + 0x0 }
logical irq 30 mapped : <0x000a2958> { _bfin_serial_dma_tx_int + 0x0 }
logical irq 35 mapped : <0x000b1a00> { _bfin_mac_interrupt + 0x0 }
RETE: <0x00000000> /* Maybe null pointer? */
RETN: <0x02864000> /* kernel dynamic memory (maybe user-space) */
RETX: <0x02982fb6> /* kernel dynamic memory (maybe user-space) */
RETS: <0x00057aee> { _simple_attr_read + 0x7e }
PC : <0x00078b60> { _debugfs_u16_get + 0x10 }
PROCESSOR STATE:
R0 : 00000000 R1 : 00000000 R2 : 00000000 R3 : 00000000
R4 : 00001000 R5 : 029e3e60 R6 : 0269f100 R7 : 00000000
P0 : 025dd88c P1 : 02863e8c P2 : ffc03838 P3 : 029e3e60
P4 : 02863ef0 P5 : 0269f0c0 FP : 029e3e28 SP : 02863d9c
LB0: 0298c9f3 LT0: 0298c9ea LC0: 0000000e
LB1: 0290cc61 LT1: 0290cc16 LC1: 00000000
B0 : 00000000 L0 : 00000000 M0 : 00000004 I0 : 029e4fed
B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : 029d4a18
B2 : 00000000 L2 : 00000000 M2 : 00000000 I2 : 029e4e98
B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 00000000
A0.w: 0000147a A0.x: 00000000 A1.w: 0000147a A1.x: 00000000
USP : 029e3e1c ASTAT: 02000021
Hardware Trace:
0 Target : <0xffa00d5a> { _evt_ivhw + 0xaa }
Source : <0xffa00d3c> { _evt_ivhw + 0x8c } 0xe10a2108
1 Target : <0xffa00d2e> { _evt_ivhw + 0x7e }
Source : <0xffa00cb0> { _evt_ivhw + 0x0 } SSYNC
2 Target : <0x00078b5e> { _debugfs_u16_get + 0xe }
Source : <0x00078b50> { _debugfs_u16_get + 0x0 } 0x3210
3 Target : <0x00057aec> { _simple_attr_read + 0x7c }
Source : <0x00057ae4> { _simple_attr_read + 0x74 } 0x304e
4 Target : <0x00057aac> { _simple_attr_read + 0x3c }
Source : <0x00057a98> { _simple_attr_read + 0x28 } 0x3038
5 Target : <0x00112dd0> { _mutex_lock_interruptible + 0x38 }
Source : <0x00112da4> { _mutex_lock_interruptible + 0xc } CLI R0
6 Target : <0x001124f0> { __cond_resched + 0x20 }
Source : <0x001124ea> { __cond_resched + 0x1a } 0x6000
7 Target : <0x001124e2> { __cond_resched + 0x12 }
Source : <0x001124d0> { __cond_resched + 0x0 } 0x3046
8 Target : <0x00112da0> { _mutex_lock_interruptible + 0x8 }
Source : <0x00112d98> { _mutex_lock_interruptible + 0x0 } 0x04c5
9 Target : <0x00057a94> { _simple_attr_read + 0x24 }
Source : <0x00057a70> { _simple_attr_read + 0x0 } 0x3210
10 Target : <0x00043b98> { _vfs_read + 0x68 }
Source : <0x00043b78> { _vfs_read + 0x48 } 0x3028
11 Target : <0x00043302> { _rw_verify_area + 0x62 }
Source : <0x000432ec> { _rw_verify_area + 0x4c } 0x0c00
12 Target : <0x0007e492> { _cap_file_permission + 0x2 }
Source : <0x0007e490> { _cap_file_permission + 0x0 } 0x6000
13 Target : <0x0007ddd2> { _security_file_permission + 0xe }
Source : <0x0007ddc4> { _security_file_permission + 0x0 } 0xe14a0017
14 Target : <0x000432e8> { _rw_verify_area + 0x48 }
Source : <0x000432a0> { _rw_verify_area + 0x0 } 0x05f5
15 Target : <0x00043b74> { _vfs_read + 0x44 }
Source : <0x00003f04> { _trap_c + 0x0 } 0x05e5
Kernel Stack
Stack info:
SP: [0x02863f24] <0x02863f24> /* kernel dynamic memory (maybe user-space) */
Memory from 0x02863f20 to 02864000
02863f20: 00000003 [02982fb6] 00008000 00002000 00000000 02864000 02982fb6 02982fb6
02863f40: 029999fc ffa01004 02000000 0290cc61 0298c9f3 0290cc16 0298c9ea 00000000
02863f60: 0000000e 0000147a 00000000 0000147a 00000000 00000000 00000000 00000000
02863f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
02863fa0: 00000004 00000000 029e4e98 029d4a18 029e4fed 029e3e1c 029e3e28 029dbc68
02863fc0: 00000000 029e3e60 029dc138 029e4f7f 00000003 00001000 029e3e60 00000003
02863fe0: 00000001 029e4f7f 00001000 029e3e60 00000003 00000003 00000003 00000006
Return addresses in stack:
Modules linked in:
Kernel panic - not syncing: Kernel exception
Hardware Trace:
Stack info:
SP: [0x02863cc0] <0x02863cc0> /* kernel dynamic memory (maybe user-space) */
FP: (0x02863e90)
Memory from 0x02863cc0 to 02864000
02863cc0:[0013f404] 00111f5e 02863d9c 0013f404 001714be 001714be 001714be 02863cf0
02863ce0: 00004340 02863d9c 00000000 02863d9c 0000ffff 0000003f 00000007 00000000
02863d00: 00030001 00000000 00000000 00000000 00000000 00000000 00000000 025db4d4
02863d20: 00040e56 00200200 00000000 00000000 00057b4a 0207a620 00078b50 00078b48
02863d40:<0014b6f4> 00000000 02964af8 00000001 000790a0 0207a620 025dd88c 0200df20
02863d60: 00000000 0007907c 00000000 025dd88c 00000024 00000024 ffa00d5e 0269f0c0
02863d80: 00000000 0269f100 029e3e60 00001000 00000001 00041e20 0207a620 02982fb6
02863da0: 00008030 0000a03f 00000000 02864000 02982fb6 00078b60 <00057aee> 00000000
02863dc0: 02000021 0290cc61 0298c9f3 0290cc16 0298c9ea 00000000 0000000e 0000147a
02863de0: 00000000 0000147a 00000000 00000000 00000000 00000000 00000000 00000000
02863e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000004 00000000
02863e20: 029e4e98 029d4a18 029e4fed 029e3e1c 029e3e28 0269f0c0 02863ef0 029e3e60
02863e40: ffc03838 02863e8c 025dd88c 00000000 0269f100 029e3e60 00001000 00000000
02863e60: 00000000 00000000 00000000 00000000 025dd88c 00000006 00000001 00000001
02863e80: 00000000 0207a620 00177c90 00000000 (00000000)<00043b9a> 0207a620 00000003
02863ea0: 02863ef0 029e3e60 00001000 00000001 00000020 00000003 02865000 02863ef0
02863ec0: 02862000 02863ef4 00043cc0 0207a620 00000003 029e3e60 00001000 00000003
02863ee0: 00000007 00000000 ffffe000 02863ef0 00000000 00000000 00000000 <ffa008f6>
02863f00: 00043c90 00000000 ffffe000 ffffe000 02964fba 0000fffe 029e4f7f 00000001
02863f20: 00000003 02982fb6 00008000 00002000 00000000 02864000 02982fb6 02982fb6
02863f40: 029999fc ffa01004 02000000 0290cc61 0298c9f3 0290cc16 0298c9ea 00000000
02863f60: 0000000e 0000147a 00000000 0000147a 00000000 00000000 00000000 00000000
02863f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
02863fa0: 00000004 00000000 029e4e98 029d4a18 029e4fed 029e3e1c 029e3e28 029dbc68
02863fc0: 00000000 029e3e60 029dc138 029e4f7f 00000003 00001000 029e3e60 00000003
02863fe0: 00000001 029e4f7f 00001000 029e3e60 00000003 00000003 00000003 00000006
Return addresses in stack:
address : <0x0014b6f4> /* kernel dynamic memory (maybe user-space) */
address : <0x00057aee> { _simple_attr_read + 0x7e }
frame 1 : <0x00043b9a> { _vfs_read + 0x6a }
address : <0xffa008f6> { _system_call + 0x6a }
--
Follow-ups
--- Mike Frysinger 2010-07-23 02:27:48
not a regression, and i'll do a bit of rework to address this after the release
--- Mike Frysinger 2010-07-28 23:51:31
ive marked the register as write only since it is W1C only in the hardware
--- Vivi Li 2010-08-24 22:56:39
OK now.
Close it.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
config.linux.debug_mmrs.bf518 application/octet-stream 34423 Vivi Li