[#5271] insmod sound common layer modules will make system panic after linux-2.6.30 upgrade

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

[#5271] insmod sound common layer modules will make system panic after linux-2.6.30 upgrade

Submitted By: Barry Song

Open Date

2009-06-18 04:16:17     Close Date

2009-09-14 05:02:39

Priority:

Medium     Assignee:

Barry Song

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

Category:

N/A     Board:

N/A

Processor:

BF537     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Out of Date

Uboot version or rev.:

    Toolchain version or rev.:

2009R1_RC6

App binary format:

N/A     

Summary: insmod sound common layer modules will make system panic after linux-2.6.30 upgrade

Details:

 

In trunk head, compiling sound common layer as modules, and insmod them after kernel boot-up, system will panic like:

root:/> modprobe snd-pcm

Data access misaligned address violation

- Attempted misaligned data memory or data cache access.

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=modprobe PID=183

CPU = 0

TEXT = 0x00f00000-0x00f4dbec        DATA = 0x00ec8bec-0x00ecc4b8

BSS = 0x00ecc4b8-0x00f80000  USER-STACK = 0x00f9fea0

 

return address: [0x000075cc]; contents of:

0x000075a0:  8608  c081  9801  c683  5180  c40b  8000  c08b

0x000075b0:  3800  640d  4e18  0a28  6c65  17b3  6000  2fdb

0x000075c0:  3049  5208  4fa8  4eb0  9708  2fe1 [9308] 2fdf

0x000075d0:  6ff1  3049  5208  c682  85f8  c682  0142  4fc0

 

ADSP-BF537-0.2 500(MHz CCLK) 125(MHz SCLK) (mpu off)

Linux version 2.6.30-ADI-2010R1-pre-svn6773 (root@roc-desktop) (gcc version 4.1.2 (ADI svn)) #288 Thu Jun 18 16:04:57 CST 2009

 

SEQUENCER STATUS:        Not tainted

SEQSTAT: 00060024  IPEND: 8030  SYSCFG: 0006

  EXCAUSE   : 0x24

  interrupts disabled

  physical IVG5 asserted : <0xffa00b74> { _evt_ivhw + 0x0 }

  physical IVG15 asserted : <0xffa00d48> { _evt_system_call + 0x0 }

  logical irq   6 mapped  : <0xffa00354> { _timer_interrupt + 0x0 }

  logical irq  10 mapped  : <0x000b4090> { _bfin_rtc_interrupt + 0x0 }

  logical irq  18 mapped  : <0x0009e3e8> { _bfin_serial_dma_rx_int + 0x0 }

  logical irq  19 mapped  : <0x0009e788> { _bfin_serial_dma_tx_int + 0x0 }

  logical irq  24 mapped  : <0x000a7c1c> { _bfin_mac_interrupt + 0x0 }

RETE: <0x(null)> /* Maybe null pointer? */

RETN: <0x00b23e48> /* kernel dynamic memory */

RETX: <0x00000480> /* Maybe fixed code section */

RETS: <0x0002c41e> { _load_module + 0x55a }

PC  : <0x000075cc> { _apply_relocate_add + 0x104 }

DCPLB_FAULT_ADDR: <0x00fb67f8> /* kernel dynamic memory */

ICPLB_FAULT_ADDR: <0x000075cc> { _apply_relocate_add + 0x104 }

 

PROCESSOR STATE:

R0 : 00fb544e    R1 : 00fb0000    R2 : 00000012    R3 : 0000001a

R4 : 030c90ec    R5 : 00000000    R6 : 00fa70cc    R7 : 00fb7dd4

P0 : 0000000f    P1 : 00fb67fa    P2 : 000075cc    P3 : 00fa748c

P4 : 00fa7374    P5 : 00fae1b4    FP : 00fb7de0    SP : 00b23d6c

LB0: ffa01480    LT0: ffa01480    LC0: 00000000

LB1: 0008d328    LT1: 0008d328    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 00b23da8

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 00fa89cc

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 00000000

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 00000000

A0.w: 00000008   A0.x: 00000000   A1.w: 00000008   A1.x: 00000000

USP : 00f9fb58  ASTAT: 02002020

 

Hardware Trace:

   0 Target : <0x00004c64> { _trap_c + 0x0 }

     Source : <0xffa005fa> { _exception_to_level5 + 0x9e } CALL pcrel

   1 Target : <0xffa0055c> { _exception_to_level5 + 0x0 }

     Source : <0xffa0042e> { _bfin_return_from_exception + 0xe } RTX

   2 Target : <0xffa00420> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa004b6> { _ex_trap_c + 0x66 } JUMP.S

   3 Target : <0xffa00450> { _ex_trap_c + 0x0 }

     Source : <0xffa00694> { _trap + 0x38 } JUMP (P4)

   4 Target : <0xffa0067a> { _trap + 0x1e }

     Source : <0xffa00676> { _trap + 0x1a } IF !CC JUMP

   5 Target : <0xffa0065c> { _trap + 0x0 }

     Source : <0x00007560> { _apply_relocate_add + 0x98 } JUMP (P2)

   6 Target : <0x000074c8> { _apply_relocate_add + 0x0 }

     Source : <0x0002c41a> { _load_module + 0x556 } CALL pcrel

   7 Target : <0x0002c40c> { _load_module + 0x548 }

     Source : <0x0002c460> { _load_module + 0x59c } IF CC JUMP

   8 Target : <0x0002c42e> { _load_module + 0x56a }

     Source : <0x0002c458> { _load_module + 0x594 } IF CC JUMP

   9 Target : <0x0002c42e> { _load_module + 0x56a }

     Source : <0x0002c458> { _load_module + 0x594 } IF CC JUMP

  10 Target : <0x0002c41e> { _load_module + 0x55a }

     Source : <0x0000757a> { _apply_relocate_add + 0xb2 } RTS

  11 Target : <0x00007574> { _apply_relocate_add + 0xac }

     Source : <0x000075be> { _apply_relocate_add + 0xf6 } JUMP.S

  12 Target : <0x0000758c> { _apply_relocate_add + 0xc4 }

     Source : <0x000075ce> { _apply_relocate_add + 0x106 } JUMP.S

  13 Target : <0x000075cc> { _apply_relocate_add + 0x104 }

     Source : <0x00007560> { _apply_relocate_add + 0x98 } JUMP (P2)

  14 Target : <0x00007520> { _apply_relocate_add + 0x58 }

     Source : <0x000075ba> { _apply_relocate_add + 0xf2 } IF CC JUMP

  15 Target : <0x0000758c> { _apply_relocate_add + 0xc4 }

     Source : <0x000075ce> { _apply_relocate_add + 0x106 } JUMP.S

 

Kernel Stack

Stack info:

SP: [0x00b23d94] <0x00b23d94> /* kernel dynamic memory */

FP: (0x00b23eb8)

Memory from 0x00b23d90 to 00b24000

00b23d90: 02002020 [0008d328] ffa01480  0008d328  ffa01480  00000000  00000000  00000008

00b23db0: 00000000  00000008  00000000  00000000  00000000  00000000  00000000  00000000

00b23dd0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00b23df0: 00000000  00fa89cc  00b23da8  00f9fb58  00fb7de0  00fae1b4  00fa7374  00fa748c

00b23e10: 000075cc <00fb67fa> 0000000f  00fb7dd4  00fa70cc  00000000  030c90ec  0000001a

00b23e30: 00000012  00fb0000  00fb544e  00fb544e  0000000f  00000006 <0002ad0a> 00fb7dd4

00b23e50: 00fb7dd4  00fa1e88 <0002c41e> 00fb7dd4  00fa74dc  00fa70cc  00000011  00000000

00b23e70: 00fa0000  001725d4  00000000  00000000  00000011  00fb7dd4  00fb7e84  035f3b50

00b23e90: 00fa74b4  00fa6ff0  001e38e0  00fa7f3c  00000018  00000019  00000000  0000000c

00b23eb0: 00fa734c  00000000 (00000000)<00f9fb64><0002c6c8> 0002c688  00000080  037a4f70

00b23ed0:<001f0004> 0000e3ac  030c90ec  00000000  07270e00 <00040246> 00b213a0  03177ee0

00b23ef0: ffffe000 <ffa007cc> 0002c688  00000000  ffffe000  00000000 <00f0a68a> 001b4776

00b23f10: 00e39c60  00179564  0000e3ac <00f0a68a> 00000000  00a0de40  00008000  00000000

00b23f30: 00000000  00b24000  00a0de40  00a0de40 <00f0a90e><ffa00dac> 02001025  00a757cb

00b23f50: 00a76351  00a757ca  00a76344  00000000  00000000  00000000  00000000  00000000

00b23f70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00b23f90: 00000000  037a44bc  037a44b4  030c9020  00000000  00000000  00000000  037a4f70

00b23fb0: 030c93bd  00f9fb58 <00f9fb64> 00eca060  030c90b8  037a4f70  00ecd3f8  00a0de30

00b23fd0: 00000080  030c90ec <001f0004> 00000000 <00f0a68a> 0000e3ac  030c90ec  0000e3ac

00b23ff0:<001f0004><001f0004> 00000080  00000006  732e646c

Return addresses in stack:

    address : <0x00fb67fa> /* kernel dynamic memory */

    address : <0x0002ad0a> { _setup_modinfo + 0x36 }

    address : <0x0002c41e> { _load_module + 0x55a }

   frame  1 : <0x00f9fb64> [ modprobe + 0x1fb64 ]

    address : <0x0002c6c8> { _sys_init_module + 0x40 }

    address : <0x001f0004> [ modprobe + 0x4 ]

    address : <0x00040246> { _sys_close + 0x62 }

    address : <0xffa007cc> { _system_call + 0x68 }

    address : <0x00f0a68a> [ /bin/busybox + 0xa68a ]

    address : <0x00f0a68a> [ /bin/busybox + 0xa68a ]

    address : <0x00f0a90e> [ /bin/busybox + 0xa90e ]

    address : <0xffa00dac> { _evt_system_call + 0x64 }

    address : <0x00f9fb64> [ modprobe + 0x1fb64 ]

    address : <0x001f0004> [ modprobe + 0x4 ]

    address : <0x00f0a68a> [ /bin/busybox + 0xa68a ]

    address : <0x001f0004> [ modprobe + 0x4 ]

    address : <0x001f0004> [ modprobe + 0x4 ]

Modules linked in: soundcore snd_soc_bf5xx_sport

Kernel panic - not syncing: Kernel exception

 

But if compiling into kernel, there is no problem at the process of kernel boot-up. Before kernel upgrade to 2.6.30, sound command layer drivers can be loaded normally as modules.

 

Follow-ups

 

--- Barry Song                                               2009-09-14 05:02:39

The problem has disappeared in trunk head now after kernel upgrade:

root:/> uname -a

Linux blackfin 2.6.31-ADI-2010R1-pre-svn7314 #1004 Mon Sep 14 16:59:14 CST 2009

blackfin GNU/Linux

root:/> lsmod

Module                  Size  Used by

snd_soc_core           31048  0

snd_pcm                50228  1 snd_soc_core

snd_timer              14604  1 snd_pcm

snd_page_alloc          4428  1 snd_pcm

snd                    34756  3 snd_soc_core,snd_pcm,snd_timer

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

kconfig    application/octet-stream    34606    Barry Song

Attachments

Outcomes