zhang envi

import realtek rt5621 audio IC, but linux driver failed

Discussion created by zhang envi on Sep 13, 2011
Latest reply on Sep 16, 2011 by zhang envi

Dear all,

      base on MX53,version R10.3,andriod 2.3.4 , when I import rt5621 codec driver. Debug message as follow:

 

       Cirrus Logic CS42888 ALSA SoC Codec Driver
No device for DAI RT5621
No device for DAI rt5621 Reserved
mxc_spdif mxc_spdif.0: MXC SPDIF Audio Transmitter
No device for codec mxc spdif
No device for DAI mxc spdif
No device for DAI imx-ssi-1-0
No device for DAI imx-ssi-1-1
No device for DAI imx-ssi-2-0
No device for DAI imx-ssi-2-1
No device for DAI imx-spdif-dai
envi 1
envi 2
envi 3
envi 4
RT5621 Audio Codec 0.07 alsa 1.0.23
Unable to handle kernel NULL pointer dereference at virtual address 0000017c
pgd = 80004000
[0000017c] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.35.3-svn12 #104)
PC is at __down_write_nested+0x28/0x13c
LR is at snd_ctl_add+0x4c/0x1cc
pc : [<804872cc>]    lr : [<8034e1d8>]    psr: a0000093
sp : df039e00  ip : df039e50  fp : 00000000
r10: 00000000  r9 : 80916360  r8 : 80915230
r7 : df41a200  r6 : 0000017c  r5 : df197500  r4 : 00000000
r3 : a0000013  r2 : df038000  r1 : 00000002  r0 : 0000017c
Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 70004019  DAC: 00000017
Process swapper (pid: 1, stack limit = 0xdf0382e8)
Stack: (0xdf039e00 to 0xdf03a000)
9e00: 00000000 00000000 00000000 00000000 00000001 00000000 df197500 8034e1d8
9e20: 00000000 00000002 00000000 00000000 43525341 00000000 00000000 00000000
9e40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9e60: 00000000 804bd108 00000000 df400700 df41a200 80915230 80916360 00000000
9e80: 00000000 80371518 80916858 df400700 00000001 df41a200 80915230 80367a18
9ea0: df419f00 00000000 df419720 00000000 00000001 809159c4 00000001 80916858
9ec0: 80915230 80916860 00000000 00000000 00000000 00000000 00000000 80367c84
9ee0: df41a208 df039f18 80236344 809152a8 00000000 80237098 df41a208 80236204
9f00: df41a208 df039f18 80236344 00000000 00000000 80235760 df006948 df418034
9f20: df41a208 df41a208 df41a23c 808f5160 00000000 8023640c df41a208 df41a210
9f40: 808f5160 802355a4 df41a208 802341b0 df41a210 00000000 00000021 801e2918
9f60: df41a200 80916798 00000001 df41a200 00000000 00000000 00000013 00000000
9f80: 00000000 00000000 00000000 80237678 809b56c8 80916798 00000001 00000013
9fa0: 00000000 800260ec 80026074 8002faf4 00000001 80039384 00000000 00000000
9fc0: 00000000 00000170 808e0b14 8002f994 8002faf4 8003a9e0 00000013 00000000
9fe0: 00000000 8000842c 00000000 80008380 8003a9e0 8003a9e0 42055190 7a1908cc
[<804872cc>] (__down_write_nested+0x28/0x13c) from [<8034e1d8>] (snd_ctl_add+0x4c/0x1cc)
[<8034e1d8>] (snd_ctl_add+0x4c/0x1cc) from [<80371518>] (imx_3stack_rt5621_init+0x2c/0x98)
[<80371518>] (imx_3stack_rt5621_init+0x2c/0x98) from [<80367a18>] (snd_soc_instantiate_cards+0x2a0/0x49c)
[<80367a18>] (snd_soc_instantiate_cards+0x2a0/0x49c) from [<80367c84>] (soc_probe+0x70/0xb0)
[<80367c84>] (soc_probe+0x70/0xb0) from [<80237098>] (platform_drv_probe+0x18/0x1c)
[<80237098>] (platform_drv_probe+0x18/0x1c) from [<80236204>] (driver_probe_device+0xc8/0x184)
[<80236204>] (driver_probe_device+0xc8/0x184) from [<80235760>] (bus_for_each_drv+0x48/0x84)
[<80235760>] (bus_for_each_drv+0x48/0x84) from [<8023640c>] (device_attach+0x64/0x88)
[<8023640c>] (device_attach+0x64/0x88) from [<802355a4>] (bus_probe_device+0x24/0x40)
[<802355a4>] (bus_probe_device+0x24/0x40) from [<802341b0>] (device_add+0x348/0x4b8)
[<802341b0>] (device_add+0x348/0x4b8) from [<80237678>] (platform_device_add+0x104/0x160)
[<80237678>] (platform_device_add+0x104/0x160) from [<800260ec>] (imx_3stack_init+0x78/0xd0)
unwind: Unknown symbol address 800260ec
unwind: Index not found 800260ec
Code: e3c2203f e5921004 e2811001 e5821004 (e5902000)
---[ end trace e6fce7a6efec512d ]---
note: swapper[1] exited with preempt_count 2
Kernel panic - not syncing: Attempted to kill init!
[<8003e578>] (unwind_backtrace+0x0/0xf0) from [<80485158>] (panic+0x6c/0xe0)
[<80485158>] (panic+0x6c/0xe0) from [<8006d844>] (do_exit+0x68/0x660)
[<8006d844>] (do_exit+0x68/0x660) from [<8003d434>] (die+0x2c8/0x304)
[<8003d434>] (die+0x2c8/0x304) from [<8003f3e8>] (__do_kernel_fault+0x64/0x84)
[<8003f3e8>] (__do_kernel_fault+0x64/0x84) from [<8003f5c8>] (do_page_fault+0x1c0/0x1d4)
[<8003f5c8>] (do_page_fault+0x1c0/0x1d4) from [<800392c8>] (do_DataAbort+0x34/0x94)
[<800392c8>] (do_DataAbort+0x34/0x94) from [<80039a2c>] (__dabt_svc+0x4c/0x60)
Exception stack(0xdf039db8 to 0xdf039e00)
9da0:                                                       0000017c 00000002
9dc0: df038000 a0000013 00000000 df197500 0000017c df41a200 80915230 80916360
9de0: 00000000 00000000 df039e50 df039e00 8034e1d8 804872cc a0000093 ffffffff
[<80039a2c>] (__dabt_svc+0x4c/0x60) from [<804872cc>] (__down_write_nested+0x28/0x13c)
[<804872cc>] (__down_write_nested+0x28/0x13c) from [<8034e1d8>] (snd_ctl_add+0x4c/0x1cc)
[<8034e1d8>] (snd_ctl_add+0x4c/0x1cc) from [<80371518>] (imx_3stack_rt5621_init+0x2c/0x98)
[<80371518>] (imx_3stack_rt5621_init+0x2c/0x98) from [<80367a18>] (snd_soc_instantiate_cards+0x2a0/0x49c)
[<80367a18>] (snd_soc_instantiate_cards+0x2a0/0x49c) from [<80367c84>] (soc_probe+0x70/0xb0)
[<80367c84>] (soc_probe+0x70/0xb0) from [<80237098>] (platform_drv_probe+0x18/0x1c)
[<80237098>] (platform_drv_probe+0x18/0x1c) from [<80236204>] (driver_probe_device+0xc8/0x184)
[<80236204>] (driver_probe_device+0xc8/0x184) from [<80235760>] (bus_for_each_drv+0x48/0x84)
[<80235760>] (bus_for_each_drv+0x48/0x84) from [<8023640c>] (device_attach+0x64/0x88)
[<8023640c>] (device_attach+0x64/0x88) from [<802355a4>] (bus_probe_device+0x24/0x40)
[<802355a4>] (bus_probe_device+0x24/0x40) from [<802341b0>] (device_add+0x348/0x4b8)
[<802341b0>] (device_add+0x348/0x4b8) from [<80237678>] (platform_device_add+0x104/0x160)
[<80237678>] (platform_device_add+0x104/0x160) from [<800260ec>] (imx_3stack_init+0x78/0xd0)
unwind: Unknown symbol address 800260ec
unwind: Index not found 800260ec
mmc0: Timeout waiting for hardware interrupt.
mxsdhci: ============== REGISTER DUMP ==============
mxsdhci: Sys addr: 0x00000000 | Version:  0x00001201
mxsdhci: Blk size: 0x00000000 | Blk cnt:  0x00000001
mxsdhci: Argument: 0x00000000 | Trn mode: 0x29020000
mxsdhci: Present:  0xff880008 | Host ctl: 0x00000121
mxsdhci: Clock:    0x000010ff
mxsdhci: Int stat: 0x00000000
mxsdhci: Int enab: 0x117f010f | Sig enab: 0x117f000f
mxsdhci: Caps:     0x07f30000
mxsdhci: ===========================================

 

Unable to handle kernel NULL pointer dereference at virtual address 0000017c, what's wrong whit it?

Tkank you very much.

Outcomes