This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] AM64x, AM65x RT Linux SDK 8.6: PRU Ethernet link down causes kernel crash

Part Number: PROCESSOR-SDK-AM64X

Problem 

I am using RT Linux SDK 8.6 with either AM64x, or AM65x. When I do a link down with PRU Ethernet, there is a kernel crash.

Sample terminal output 

#1

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@AM64x-CustomerBoard:~# ifconfig eth2 down
[ 28.736701] remoteproc remoteproc7: stopped remote processor 3000a000.txpru
root@AM64x-CustomerBoard:~# [ 28.736739] remoteproc remoteproc6: stopped remote processor 30004000.rtu
[ 28.736749] remoteproc remoteproc5: stopped remote processor 30034000.pru
[ 28.745812] net eth2: stopped
root@AM64x-CustomerBoard:~# ifconfig eth2[ 32.109270] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018
[ 32.118066] Mem abort info:
[ 32.120849] ESR = 0x96000006
[ 32.123892] EC = 0x25: DABT (current EL), IL = 32 bits
[ 32.129191] SET = 0, FnV = 0
[ 32.132233] EA = 0, S1PTW = 0
[ 32.135364] Data abort info:
[ 32.138231] ISV = 0, ISS = 0x00000006
[ 32.142055] CM = 0, WnR = 0
[ 32.145011] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000839f4000
[ 32.151436] [0000000000000018] pgd=00000000834c6003, p4d=00000000834c6003, pud=00000000834ca003, pmd=0000000000000000
[ 32.162036] Internal error: Oops: 96000006 [#1] PREEMPT SMP
[ 32.167597] Modules linked in: wlcore_sdio wl18xx wlcore mac80211 libarc4 cfg80211 rfkill xhci_plat_hcd xhci_hcd cdns3 roles usbcore udc_core rpmsg_char usb_common irq_pruss_intc ti_am335x_adc kfifo_buf crct10dif_ce icssg_prueth pru_rproc icss_iep pci_endpoint_test cdns3_ti ti_k3_r5_remoteproc virtio_rpmsg_bus rti_wdt ti_k3_m4_remoteproc sa2ul sha512_generic authenc pruss ti_am335x_tscadc m_can_platform m_can can_dev at24 rtc_ds1307 optee_rng rng_core sch_fq_codel ipv6
[ 32.209156] CPU: 0 PID: 755 Comm: irqbalance Not tainted 5.10.168-rt83-g45f74029a103 #1
[ 32.217146] Hardware name: TL64x-EVM (DT)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

#2

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@am65xx-evm:~# ip link set eth1 down
[ 30.885858] remoteproc remoteproc9: stopped remote processor b10a000.txpru
[ 30.885894] remoteproc remoteproc8: stopped remote processor b104000.rtu
[ 30.885906] remoteproc remoteproc7: stopped remote processor b134000.pru
[ 30.920752] net eth1: stopped
root@am65xx-evm:~# [ 34.103507] Unable to handle kernel NULL pointer dereference at virtual address 000000000000008
[ 34.112305] Mem abort info:
[ 34.115091] ESR = 0x96000006
[ 34.118136] EC = 0x25: DABT (current EL), IL = 32 bits
[ 34.123437] SET = 0, FnV = 0
[ 34.126482] EA = 0, S1PTW = 0
[ 34.129613] Data abort info:
[ 34.132484] ISV = 0, ISS = 0x00000006
[ 34.136309] CM = 0, WnR = 0
[ 34.139268] user pgtable: 4k pages, 48-bit VAs, pgdp=00000008871ca000
[ 34.145697] [0000000000000018] pgd=000000088646a003, p4d=000000088646a003, pud=0000000885e0f003, pmd=0000000000000
[ 34.156298] Internal error: Oops: 96000006 [#1] PREEMPT_RT SMP
[ 34.162122] Modules linked in: bluetooth ecdh_generic ecc rfkill icssg_prueth irq_pruss_intc pru_rproc rpmsg_char6
[ 34.210917] CPU: 3 PID: 770 Comm: irqbalance Tainted: G O 5.10.168-rt83-gd14fbab5cc #1
[ 34.220123] Hardware name: Texas Instruments AM654 Base Board (DT)
[ 34.226291] pstate: 60000085 (nZCv daIf -PAN -UAO -TCO BTYPE=--)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX