我们有基于
STM32MP1 mpu 的定制硬件主板以及其他一些外围设备。
对于我们的用例,我们使用
yocto Linux 并使用
openstlinux(arm-openstlinux_weston-Linux-gnueabi-gcc),内核版本4.19.9。
对于 WiFi,我们正在将以下 Cypress WiFi 驱动程序加载到内核中。
-brcmfmac.ko
-brcmu
til.ko
-cfg80211.ko
-compat.ko
网络运行良好,但是,例如,当我尝试将一些文件从目标板传输到主机时。 使用 scp
,网络崩溃,我被迫执行开机重置以恢复网络。
我正在粘贴下面的日志。
[1927.490340] 无法处理虚拟地址处的内核空指针取消引用 00000000
[1927.497668] pgd = 1d0ec103 [1927.499779] [00000000] *pgd
=0000000 [1927.503391]
内部错误:哎呀:17 [#1] PREEMPT SMP ARM [1927.508820]
链接的模块:event2_interprut (O) brcmfmac (O) cfg80211 (O) brcmutil (O) compat (O) hci_uart btbcm 蓝牙 ecdh_generic sch_fq_codel ipv6 [上次卸载:brcmutil] [1927.524900]
CPU:1 PID:545 Comm:kworker/u 4:2 污点:G O 4.19.9 #1 [1927.532697]
硬件名称:STM32(设备树支持)
[1927.538069] 工作队列:brcmf_wq/mmc 0:0001:1 brcmf_sdio_dataworker [brcmfmac] [1927.545116]
电脑在 brcmf_sdiod_sglist_rw+0x1ac/0x550 [brcmfmac] [1927.551134]
LR 位于 0x24
[1927.553767] pc:[ lr:[00000024]<00000024> psr:80080013
[1927.560086>] sp:cfb83d28 ip:0000000 fp:<00000600
[1927.565352>] r10:00000023 r9:c10eaac0 r8:0003fe00 [1927.55fe00
70621] r7:cfde3000 r6:d1a9a240 r5:00000000 r4:00008a00
[1927.577206] r3:0001ffe0 r2:000000c0 r1:d3e08a84 r0:d3bc9000
[1927.583793]标志:模式 SVC_32 上的 FIQ 上的 nzcv IRQ ISA ARM Segment none [1927.590990]
控制:10c5387d 表:ce0e806a DAC:00000051 [1927.596786]
process kworker/u 4:2(pid: 545,堆栈限制 = 0x6e36df02)[1927.603278]
堆栈:(0xcfb83d28 到 0xcfb84000)
[1927.607680] 3d20:00000035 21000040 000000000 0000000 0000000 0000000 00000 [1927.615936] 3d40:00000200 d2195800 cfb83db4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4 cfb83ed4
[1927.624185] 3d60:c1004c88 00008000 d3578a58 cfb83d6c cfb83d6c 00000000 0000000 0000000 0000000 0000000 [1927.640685] 3da0:00000000 0000000 0000000 0000000 0000000 0000000 cfb83df8 cfb83d7c [1927.648934] 3dc0:00000000 000000000 0000000 00000 0000000
00000000 0000000 0000000 0000000 00000
[1927.657186] 3de0:00000000 00000000000 0000000 0000000 0000000 0000000 a80000000 [1927.665438] 3e00:00000000 000000000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 20:00000000 0000000 0000000 916a9917 d3578a58 cfb83ed4 cfde3000 00008000 [1927.681943] 3e40:cfb83ed4 00000000 cfde3400 00000013 bf516b18 cfb83ed4 000001fc
[1927.690192] 3e60:cfb83edc 4 000000ba 000001fc 00009200 00000016 bf5149fc d3b87180 c0a0de10 [1927.698442] 3e80:00000014 00000200
00000004 00000001 000001fc cfde3420 00000000 cfde36ca
[1927.706694] 3ea0:cfde35f0 00480020 00000013 000000f 18004020 c1004c88 d30e2000 0000000 [1927.714945] 3ec0:00000000 00000 00000 060402b9 00000000 01fc0116 d1b6d840 d1b6d540 00000025 [1927.723196] 3ee0:00000000 916a9917 cfb83f3c cfde3640 000000000 cfde3400 d1f5380 0000000 [1927.731448] 3f00:c10a5630 000000000 fffe0000000 bffe0000000 bffe0000000 cfde000 3640 d1954780 d3008400 c014030c [1927.739699] 3f20:d3008400 d3008400 000088 d1954780 d1954794 d3008400 000088 c1003d00
[1927.747949] 3f40:
d3008418 d3008400 fffe000 c0141190 cfb95740 c10a500a c0c0ca0240 c0a0dd68 [1927.756199] 3f60:cfb9575c cfb95740 0000000 c195480 c014114c d30bfea4 [1927.764448] 3ffea4 [1927.764448] 3ffea4 80: cfb9575c c0146214 00000000 d37bd840 c01460c8 00000000 0000000 0000000 00000
[1927.772697] 3fa0
: 00000000 0000000 0000000 0000000 c010e8 00000000 0000000 0000000 0000000
[1927.780947] 3fc0:00000000 0000000 0000000 0000000 00000 0000000 00000 00000 0000000 00000 来自 [bf516b18] (brcmf_sdiod_sdiod_sdiod_sglist_rw [brcmf_sdiod_sglist_rw [brcmf_sdiod_send_pkt+0xb0/0xc0] [
<><>brcmfmac])
[1927.808749] [bf < 516b18] (brcmf_sdiod_send_pkt [brcmf5149fc] (brcmf_sdio_dpc+0xc30/0x1424 [brcmfmac>]) [1927.819456] [bf5149fc] (brcmf_sdio_dpc [brcmfmac]) 来自 [bf515224 < >
< > <>] (brcmf_sdio_dataworker+0x34/0x80 [brcmfmac]) [1927.829889] [bf515224] (brcmf_sdio_dataworker [brcmf30c] (procsess_one_work+0x204/0x56c)
[1927.839691] [c0140691] [c0140140] 30c] (process_one_work) 来
[<>
<>] (worker_thread+0x44/0x580) [1927.847854] [c0141190] (worker_thread) 来自 [c0146214] (kthread)
[1927.855310] [c0146214] (kthread) 来自 [ 0146214] (kthread) < > < >] (ret_from_fork+0x14/0x2c) [1927.862572]
异常堆栈(0xcfb83fb0 到 0xcfb83ff8)
[1927.867668] 3fa0:00000000 0000000 0000000 00000 00000 00000 00000 00000 00000 00000 0000000 [1927.884175] 3fe0:00000000 0000000 0000000 00000 00000 00000000 0000000 0000000 000013 0000000
0 [1927.890859]
代码:e7eb2052 e15b0003 e021019e 21a0b003 (e59c3000) [1927.910966] — [end trace bb2dc82d1e20388e] —
有人告诉我们,我们需要使用驱动程序的
向后移植 来解决这个问题。 我尝试了 v5.10.9-backports &
v5.15.58-backports 但我仍然遇到同样的问题。
请帮帮我。
我要求提供确切的向后移植来解决这个问题。