i.MX7Dual sabre EVK SAI sdma_transfer_init failure

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX7Dual sabre EVK SAI sdma_transfer_init failure

488 Views
mzachar
Contributor I

Hi,

I'm using nxp Yocto image (Kirkstone) with linux 5.15.32-lts and when I try to run speaker-test or aplay the kernel crashes:

[  403.235415] --- cut here ---
[  403.238499] Unable to handle kernel NULL pointer dereference at virtual address 00000003
[  403.246596] pgd = 00e30be8
[  403.249311] [00000003] *pgd=00000000
[  403.252900] Internal error: Oops: 805 [#1] PREEMPT SMP ARM
[  403.258390] Modules linked in:
[  403.261451] CPU: 0 PID: 218 Comm: speaker-test Not tainted 5.15.32-lts-next+gfa6c3168595c #1
[  403.269895] Hardware name: Freescale i.MX7 Dual (Device Tree)
[  403.275643] PC is at sdma_transfer_init+0x120/0x234
[  403.280538] LR is at 0x0
[  403.283074] pc : [<805e0ba8>]    lr : [<00000000>]    psr: 80010093
[  403.289344] sp : 86a01e20  ip : ac040280  fp : 8645eca0
[  403.294571] r10: 8645e040  r9 : 8645c040  r8 : 00000002
[  403.299798] r7 : ac040200  r6 : 00000000  r5 : 8618a080  r4 : 8645c6ac
[  403.306329] r3 : 00000005  r2 : 0000000c  r1 : 00000001  r0 : ac040200
[  403.312859] Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
[  403.320088] Control: 10c5387d  Table: 8721006a  DAC: 00000051
[  403.325834] Register r0 information: 0-page vmalloc region starting at 0xac000000 allocated at iotable_init+0x0/0xec
[  403.336379] Register r1 information: non-paged memory
[  403.341436] Register r2 information: non-paged memory
[  403.346492] Register r3 information: non-paged memory
[  403.351547] Register r4 information: non-slab/vmalloc memory
[  403.357211] Register r5 information: slab kmalloc-128 start 8618a080 pointer offset 0 size 128
[  403.365847] Register r6 information: NULL pointer
[  403.370556] Register r7 information: 0-page vmalloc region starting at 0xac000000 allocated at iotable_init+0x0/0xec
[  403.381092] Register r8 information: non-paged memory
[  403.386148] Register r9 information: non-slab/vmalloc memory
[  403.391813] Register r10 information: non-slab/vmalloc memory
[  403.397564] Register r11 information: non-slab/vmalloc memory
[  403.403315] Register r12 information: 0-page vmalloc region starting at 0xac000000 allocated at iotable_init+0x0/0xec
[  403.413938] Process speaker-test (pid: 218, stack limit = 0x504e2331)
[  403.420385] Stack: (0x86a01e20 to 0x86a02000)
[  403.424751] 1e20: 00000000 00000000 00000005 20010093 f16be9f5 00000000 8645c6ac 00000001
[  403.432935] 1e40: 00001e00 00005a00 ac180000 00000003 8645c040 805e1a80 00004142 86f7e780
[  403.441119] 1e60: 86cdc940 00000005 866cd040 00000000 86726800 86cdc900 805e19f0 00000001
[  403.449303] 1e80: 862ba610 862ba040 020ba480 809ef114 00000001 00000003 7ea12088 80a167fc
[  403.457486] 1ea0: 86726800 8672660c 00000003 80a0fcd8 00000780 00000001 00000001 5a000000
[  403.465670] 1ec0: 00000000 00000001 00000000 86726800 862ba040 86f7e780 00000004 866cd040
[  403.473854] 1ee0: 020ba480 80a105ac 00000000 80dd60c8 86726800 00000003 86f7e780 809e22c0
[  403.482038] 1f00: 86726800 80dd60c8 00000003 020baaf0 86f7e780 809e45b0 00004142 86f7e780
[  403.490221] 1f20: 020ba9b8 80279170 5ac3c35a 00000036 81304f8c 80109a34 00000001 5ac3c35a
[  403.498405] 1f40: 00000001 00000000 86a01f50 86a01f54 00000000 86a01f54 86a01f54 ed7454c7
[  403.506588] 1f60: 00000001 00000001 00006000 00000003 00000000 86f7e780 76fde000 ed7454c7
[  403.514773] 1f80: 00000001 020ba968 76f52398 020ba9b8 00000036 801002c4 86a00000 00000036
[  403.522956] 1fa0: 020ba480 80100060 020ba968 76f52398 00000004 00004142 020baaf0 7ea12020
[  403.531140] 1fc0: 020ba968 76f52398 020ba9b8 00000036 00000003 76f37ae8 76f52398 020ba480
[  403.539324] 1fe0: 00000036 7ea12008 76e27ba9 76da1ae6 60010030 00000004 00000000 00000000
[  403.547509] [<805e0ba8>] (sdma_transfer_init) from [<805e1a80>] (sdma_prep_dma_cyclic+0x90/0x294)
[  403.556401] [<805e1a80>] (sdma_prep_dma_cyclic) from [<809ef114>] (snd_dmaengine_pcm_trigger+0x128/0x194)[  403.565988] [<809ef114>] (snd_dmaengine_pcm_trigger) from [<80a0fcd8>] (snd_soc_pcm_component_trigger+0x150/0x1ec)
[  403.576354] [<80a0fcd8>] (snd_soc_pcm_component_trigger) from [<80a105ac>] (soc_pcm_trigger+0xa8/0x174)
[  403.585763] [<80a105ac>] (soc_pcm_trigger) from [<809e22c0>] (snd_pcm_action_single+0x38/0x78)
[  403.594391] [<809e22c0>] (snd_pcm_action_single) from [<809e45b0>] (snd_pcm_action_lock_irq+0x38/0x78)
[  403.603713] [<809e45b0>] (snd_pcm_action_lock_irq) from [<80279170>] (sys_ioctl+0x570/0xc70)
[  403.612170] [<80279170>] (sys_ioctl) from [<80100060>] (ret_fast_syscall+0x0/0x58)
[  403.619753] Exception stack(0x86a01fa8 to 0x86a01ff0)
[  403.624812] 1fa0:                   020ba968 76f52398 00000004 00004142 020baaf0 7ea12020
[  403.632996] 1fc0: 020ba968 76f52398 020ba9b8 00000036 00000003 76f37ae8 76f52398 020ba480
[  403.641177] 1fe0: 00000036 7ea12008 76e27ba9 76da1ae6
[  403.646236] Code: e5942108 e5872024 e59d3008 e3a01001 (e5c61003) 
[  403.652336] ---[ end trace c95a4f66dde7db00 ]---
[  403.656956] note: speaker-test[218] exited with preempt_count 2

 

It looks like there is some issue with the driver as the sdma_transfer_init cause NULL dereference. Kernel was build without any modifications based on the NXP Yocto Guide: (https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf)

repo init -u https://source.codeaurora.org/external/imx/imx-manifest
-b imx-linux-kirkstone -m imx-5.15.32-2.0.0.xml

Anyone else experiencing the same issue?

0 Kudos
2 Replies

404 Views
philb_vt
Contributor I

@mzachar  I have what appears to be the same/similar issue in sdma_transfer_init(...)  in kernel built from 5.15-2.0.x-imx (dump below) on an i.mx6sx board.

Did you ever find a fix?

 

- Phil.

[ 43.316915] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
[ 43.326134] 8<--- cut here ---
[ 43.329205] Unable to handle kernel NULL pointer dereference at virtual address 00000003
[ 43.337301] pgd = 5b6b9173
[ 43.340015] [00000003] *pgd=83aee831, *pte=00000000, *ppte=00000000
[ 43.346302] Internal error: Oops: 817 [#1] PREEMPT SMP ARM
[ 43.351796] Modules linked in: ax88179_178a mcs7830 smsc95xx smsc75xx asix vf610_adc bluetooth ecdh_generic ecc libaes
[ 43.362543] CPU: 0 PID: 169 Comm: _StarterT5 Not tainted 5.15.671 #7
[ 43.368907] Hardware name: Freescale i.MX6 SoloX (Device Tree)
[ 43.374742] PC is at sdma_transfer_init+0x124/0x240
[ 43.379640] LR is at 0x0
[ 43.382178] pc : [<c05d3504>] lr : [<00000000>] psr: 800e0093
[ 43.388449] sp : c2aa9c50 ip : cb040280 fp : 00000001
[ 43.393676] r10: c1b8eca0 r9 : c1b8c040 r8 : 00000003
[ 43.398904] r7 : cb040200 r6 : 00000000 r5 : c3b0fc80 r4 : c1b8c18c
[ 43.405435] r3 : c1b8e040 r2 : 00000008 r1 : 00000001 r0 : cb040200
[ 43.411966] Flags: Nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 43.419195] Control: 10c5387d Table: 83ae404a DAC: 00000051
[ 43.424942] Register r0 information: 0-page vmalloc region starting at 0xcb000000 allocated at iotable_init+0x0/0xec
[ 43.435491] Register r1 information: non-paged memory
[ 43.440550] Register r2 information: non-paged memory
[ 43.445607] Register r3 information: non-slab/vmalloc memory
[ 43.451276] Register r4 information: non-slab/vmalloc memory
[ 43.456940] Register r5 information: slab kmalloc-128 start c3b0fc80 pointer offset 0 size 128
[ 43.465578] Register r6 information: NULL pointer
[ 43.470287] Register r7 information: 0-page vmalloc region starting at 0xcb000000 allocated at iotable_init+0x0/0xec
[ 43.480826] Register r8 information: non-paged memory
[ 43.485883] Register r9 information: non-slab/vmalloc memory
[ 43.491548] Register r10 information: non-slab/vmalloc memory
[ 43.497299] Register r11 information: non-paged memory
[ 43.502442] Register r12 information: 0-page vmalloc region starting at 0xcb000000 allocated at iotable_init+0x0/0xec
[ 43.513065] Process _StarterT5 (pid: 169, stack limit = 0x50b53835)
[ 43.519341] Stack: (0xc2aa9c50 to 0xc2aaa000)
[ 43.523706] 9c40: 00000000 c05b9a3c 200e0093 c1b8e040
[ 43.531892] 9c60: 00000002 00000000 c1b8c18c 00000002 00000400 00004000 83afc000 00000010
[ 43.540077] 9c80: c1b8c040 c05d43cc c1d261cc 600e0013 c19b6810 00000001 c2aa8000 c1d26040
[ 43.548261] 9ca0: c1b8c18c 00000000 c1d261cc 600e0013 c19b6810 00004000 c05d433c c0638238
[ 43.556444] 9cc0: 00000002 00000001 00000001 021ec000 021ec040 00000001 00000001 00000008
[ 43.564628] 9ce0: 00000008 00000000 00000000 00000000 00000000 00000000 00000000 1af4b11f
[ 43.572812] 9d00: c1d26040 c1ad11f0 c1d26040 c3aed000 c2adde00 00000000 a00e0013 0cf00012
[ 43.580996] 9d20: c2aa8000 c062870c c1ad11f0 c2adde00 c2adde00 c2a92a80 c1d25928 c0f6a2e4
[ 43.589179] 9d40: 0cf00012 c0628ddc c1ad11f0 c2adde00 c1ad1284 c06114b8 c2adde00 c2a92a80
[ 43.597363] 9d60: c3b09940 c0c80488 c1d25928 c0625fd8 c2adde00 c0609f18 00000902 c06075ac
[ 43.605546] 9d80: fffffe00 c0658508 00000002 1af4b11f 00000002 c1d4cac0 c1d25928 c0c80508
[ 43.613731] 9da0: c2a92a80 00000000 00000000 c2a92a80 c2aa9f30 c02ad178 00000000 1af4b11f
[ 43.621915] 9dc0: c2aa9f30 c2a92a80 c1d25928 c1120f98 c02ad0b0 c2a92a88 00000000 c02a34d4
[ 43.630098] 9de0: 00000000 00000902 c1120f98 c2aa9e78 00000000 00000000 c2a92a80 c02b8cac
[ 43.638281] 9e00: 00000002 c29c12c8 80010013 c3b09940 00000001 00000000 c1e58000 c0147040
[ 43.646464] 9e20: c2948e40 c1e58000 c1ec0d80 00000041 00000000 c2aa8000 00000002 c1d25928
[ 43.654648] 9e40: c29c1644 c29c1400 c0aafa18 1af4b11f c0aafa18 c2aa9f60 c2aa9f30 00000001
[ 43.662832] 9e60: ffffff9c c01002c4 c2aa8000 00000142 000f423f c02b9ba8 c1ba6550 c2386e58
[ 43.671016] 9e80: 2c877bb5 00000007 c18f0015 c109201e 00000000 c2406dd0 c1d25928 00000101
[ 43.679198] 9ea0: 00000000 00000002 0000006c 0000003c 00000000 00000000 00000000 c2aa9ec0
[ 43.687381] 9ec0: 00000000 c0278700 00000000 c0ab08d4 00000051 1af4b11f 00000051 00000008
[ 43.695564] 9ee0: c2a99318 00000000 00000008 c0b10434 c18f0000 00000000 00000002 ffffff9c
[ 43.703748] 9f00: 00000000 000041ed ffffff9c 1af4b11f c2aa9f60 c18f0000 00000008 c02a51d4
[ 43.711932] 9f20: 000f423f c2aa9fb0 00261000 00000817 00000902 c12a0000 00000006 00000100
[ 43.720115] 9f40: 00000001 1af4b11f c2a92181 ffffff9c 00247848 00000000 00000142 c02a5678
[ 43.728297] 9f60: 00000902 00000000 00000000 00000000 00000000 00000000 00000902 00000000
[ 43.736481] 9f80: 00000000 00000000 00000000 00000000 00000800 1af4b11f b68cc170 00000002
[ 43.744664] 9fa0: b6f2a760 c0100060 00000002 b6f2a760 ffffff9c 00247848 00000902 00000000
[ 43.752847] 9fc0: 00000002 b6f2a760 00000000 00000142 00000001 00000000 00259c38 000f423f
[ 43.761031] 9fe0: 00000142 bed5fb28 b6b6484b b6b660a6 80000030 ffffff9c 00000000 00000000
[ 43.769218] [<c05d3504>] (sdma_transfer_init) from [<c05d43cc>] (sdma_prep_dma_cyclic+0x90/0x294)
[ 43.778113] [<c05d43cc>] (sdma_prep_dma_cyclic) from [<c0638238>] (imx_uart_startup+0x4a4/0x6a8)
[ 43.786928] [<c0638238>] (imx_uart_startup) from [<c062870c>] (uart_port_startup+0x144/0x270)
[ 43.795479] [<c062870c>] (uart_port_startup) from [<c0628ddc>] (uart_port_activate+0x48/0x80)
[ 43.804021] [<c0628ddc>] (uart_port_activate) from [<c06114b8>] (tty_port_open+0x7c/0xbc)
[ 43.812219] [<c06114b8>] (tty_port_open) from [<c0625fd8>] (uart_open+0x14/0x1c)
[ 43.819629] [<c0625fd8>] (uart_open) from [<c0609f18>] (tty_open+0x150/0x65c)
[ 43.826788] [<c0609f18>] (tty_open) from [<c02ad178>] (chrdev_open+0xc8/0x210)
[ 43.834034] [<c02ad178>] (chrdev_open) from [<c02a34d4>] (do_dentry_open+0x100/0x3e4)
[ 43.841887] [<c02a34d4>] (do_dentry_open) from [<c02b8cac>] (path_openat+0xa34/0xd70)
[ 43.849736] [<c02b8cac>] (path_openat) from [<c02b9ba8>] (do_filp_open+0x88/0x138)
[ 43.857322] [<c02b9ba8>] (do_filp_open) from [<c02a51d4>] (do_sys_openat2+0xa0/0x168)
[ 43.865170] [<c02a51d4>] (do_sys_openat2) from [<c02a5678>] (sys_openat+0x9c/0xc4)
[ 43.872754] [<c02a5678>] (sys_openat) from [<c0100060>] (ret_fast_syscall+0x0/0x58)
[ 43.880425] Exception stack(0xc2aa9fa8 to 0xc2aa9ff0)
[ 43.885484] 9fa0: 00000002 b6f2a760 ffffff9c 00247848 00000902 00000000
[ 43.893668] 9fc0: 00000002 b6f2a760 00000000 00000142 00000001 00000000 00259c38 000f423f
[ 43.901850] 9fe0: 00000142 bed5fb28 b6b6484b b6b660a6
[ 43.906911] Code: e5872020 e5942108 e5872024 e3a01001 (e5c61003)
[ 43.913012] ---[ end trace cccbb6a69b62bfd6 ]---
[ 43.917635] note: _StarterT5[169] exited with preempt_count 2

 

0 Kudos

471 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hi @mzachar 

i hope you are doing well.

Can you please check with pre-built images of IMX7Dual sabre EVK?

Thanks & Regards

Sanket Parekh

0 Kudos