FAQ: [#6108] Read SPORT0_TX via debugfs mmrs will cause kernel crash on bf561-ezkit(2010)

Document created by Aaronwu Employee on Sep 11, 2013
Version 1Show Document
  • View in full screen mode

[#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

Outcomes