CC Linux-USB ML. Jason, from what I see from attached RCU dump, it is related the application: v4l_id, it is located at: /lib/udev. The script: /lib/udev/rules.d/60-persistent-v4l.rules seems to be used to start it. For chipidea dump, would you please see below fix could fix it? diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index aadb8359757d..44fe792d094d 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -1880,6 +1880,8 @@ static int ci_udc_start(struct usb_gadget *gadget, if (ci->vbus_active) ci_hdrc_gadget_connect(&ci->gadget, 1); + else + usb_udc_vbus_handler(&ci->gadget, false); return retval; When the RCU stall occurs, there is no USB interrupt ever occurred, I don't know where the CPU is stalled. I have no well knowledge about UVC, hope there are someone from ML could help you. root@imx8qmmek:~# [ 66.333073] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: [ 66.339188] rcu: 3-...!: (0 ticks this GP) idle=e26/1/0x4000000000000000 softirq=5351/5351 fqs=0 [ 66.348144] (detected by 1, t=5252 jiffies, g=4433, q=244) [ 66.353714] Task dump for CPU 3: [ 66.356942] v4l_id R running task 0 687 686 0x00000202 [ 66.363991] Call trace: [ 66.366448] __switch_to+0x104/0x170 [ 66.370025] 0xffff000078204740 [ 66.373169] rcu: rcu_preempt kthread starved for 5252 jiffies! g4433 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=3 [ 66.383511] rcu: RCU grace-period kthread stack dump: [ 66.388559] rcu_preempt I 0 10 2 0x00000028 [ 66.394043] Call trace: [ 66.396488] __switch_to+0x104/0x170 [ 66.400065] __schedule+0x228/0x5f8 [ 66.403551] schedule+0x48/0xe8 [ 66.406691] schedule_timeout+0x158/0x328 [ 66.410702] rcu_gp_kthread+0x488/0x8c0 [ 66.414538] kthread+0xfc/0x128 [ 66.417678] ret_from_fork+0x10/0x18 root@imx8qmmek:~# root@imx8qmmek:~# root@imx8qmmek:~# root@imx8qmmek:~# cat /proc/interrupts | grep usb 50: 0 0 0 0 GICv3 72 Level 32e40000.usb Best regards, Peter Chen From: Jason Wolfe <jason@xxxxxxxxx> Sent: Monday, August 03, 2020 10:52 AM To: Peter Chen <peter.chen@xxxxxxx> Subject: USB: chipidea potential bug Hi Peter, I hope you don't mind me reaching out to you directly but I saw that you actively commit/sign-off on commits for the chipidea USB driver and was wondering if you could provide a little insight into an issue I am experiencing. I am trying to enable a USB UVC gadget device on a stock imx8mmevk development board (targeting the i.MX 8M Mini uP). When I simply follow basic steps to use configfs to create a UVC gadget device (https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.ridgerun.com%2Fwiki%2Findex.php%3Ftitle%3DHow_to_use_the_UVC_gadget_driver_in_Linux&data=02%7C01%7Cpeter.chen%40nxp.com%7C69e979ab5a6745d6f6b808d837583671%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637320199296022614&sdata=efjUEsYzN4clQNpp8wFpvJaQuW9Dnl5QwKAbqQ5SuH4%3D&reserved=0 or via the attached shell script), the kernel panics and the issue seems to stem from the chipidea UDC driver. I've attached kernel panic dmesg logs: one from the stock imx-image-full kernel+rootfs (from BSP L5.4.3_2.0.0) and the second from our custom image. The output from the custom image is the most interesting because it clearly shows the kernel panics due to a scheduling issue in an atomic context. Digging a little deeper and based on the kernel panic output I found https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.spinics.net%2Flists%2Farm-kernel%2Fmsg564238.html&data=02%7C01%7Cpeter.chen%40nxp.com%7C69e979ab5a6745d6f6b808d837583671%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637320199296022614&sdata=asD%2FAwyjFTqA2jHZ%2BhU%2BXBoSvclyIDoyf2O2nNbUpm8%3D&reserved=0 and https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.kernel.org%2Fdoc%2FDocumentation%2Ftimers%2Ftimers-howto.txt&data=02%7C01%7Cpeter.chen%40nxp.com%7C69e979ab5a6745d6f6b808d837583671%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637320199296032606&sdata=WiKDCWM1Tzv3wvoYEJDJxQK5V%2FMy3Z4Hu%2FQ2pkyr%2Fdg%3D&reserved=0. ; This all led me to believe that there may be a bug in the UDC driver (ci_hdrc) in drivers/usb/chipidea/core.c:hw_wait_phy_stable(). It looked to me like a usleep_range() was incorrectly called in an atomic context, so I simply tried to mitigate this (as suggested by the previously linked threads) by changing it to a udelay() call but to no avail. This got rid of the kernel panic but running a standard userspace test app (such as https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwlhe%2Fuvc-gadget&data=02%7C01%7Cpeter.chen%40nxp.com%7C69e979ab5a6745d6f6b808d837583671%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637320199296032606&sdata=XJ2AkqnISJpE1R6d7u3yFuVv8AJ814XD6x4t7fLM%2BlM%3D&reserved=0) did not work. Additionally, I noticed some other strange behaviors after this change: First, I notice a bunch of rcu_preempt stall messages from the kernel every few seconds (their output is attached). Second, the platform became unstable and it often locked up forcing me to reboot the target. Lastly, no matter if I have the USB cable plugged in on boot, before or after running the userspace test app, the USB uvc gadget never enumerates. Does any of this sound sensible/familiar? Do you have any suggestions to help narrow down/correct the issue? My bare-minimum goal is to take a stock imx8mmevk development platform running a stock BSP-provided pre-built image (like imx-image-multimedia, imx-image-full, etc.) and use the attached uvc-gadget.sh to create a UVC gadget. Thank you for any assistance you may be able to provide, Jason Wolfe Technical Director Amigen, LCC
root@imx8mmevk:~# ./uvc-gadget.sh Detecting platform: board : FSL i.MX8MM DDR4 EVK RevB board udc : ci_hdrc.0 Usage : ./uvc-gadget.sh {start|stop} root@imx8mmevk:~# ./uvc-gadget.sh start Detecting platform: board : FSL i.MX8MM DDR4 EVK RevB board udc : ci_hdrc.0 Creating the USB gadget Creating gadget directory g1 OK Setting Vendor and Product ID's OK Setting English strings OK Creating Config Creating functions... Creating UVC gadget functionality : uvc.0 OK Binding USB Device Controller [ 17.159552] configfs-gadget gadget: uvc: uvc_function_bind() OK root@imx8mmevk:~# [ 17.175905] BUG: scheduling while atomic: v4l_id/649/0x00000002 [ 17.182016] Modules linked in: crct10dif_ce brcmfmac brcmutil synaptics_dsx_i2c fsl_imx8_ddr_perf galcore(O) [ 17.191893] CPU: 1 PID: 649 Comm: v4l_id Tainted: G O 5.4.3-lts-lf-5.4.y+gf8118585ee3c #1 [ 17.201369] Hardware name: FSL i.MX8MM DDR4 EVK RevB board (DT) [ 17.207286] Call trace: [ 17.209739] dump_backtrace+0x0/0x140 [ 17.213401] show_stack+0x14/0x20 [ 17.216717] dump_stack+0xb4/0xf8 [ 17.220033] __schedule_bug+0x5c/0x70 [ 17.223695] __schedule+0x4b4/0x560 [ 17.227181] schedule+0x40/0xe0 [ 17.230321] schedule_hrtimeout_range_clock+0x9c/0x118 [ 17.235455] schedule_hrtimeout_range+0x10/0x18 [ 17.239985] usleep_range+0x74/0xa0 [ 17.243473] ci_controller_resume+0x90/0xd8 [ 17.247652] ci_runtime_resume+0xc/0x18 [ 17.251488] pm_generic_runtime_resume+0x28/0x40 [ 17.256103] __rpm_callback+0x88/0x140 [ 17.259848] rpm_callback+0x20/0x80 [ 17.263334] rpm_resume+0x39c/0x580 [ 17.266819] __pm_runtime_resume+0x38/0x80 [ 17.270914] ci_udc_pullup+0x40/0xf8 [ 17.274489] usb_gadget_activate+0x48/0x78 [ 17.278582] usb_function_activate+0x68/0xb8 [ 17.282851] uvc_function_connect+0x18/0x50 [ 17.287031] uvc_v4l2_open+0x5c/0x78 [ 17.290607] v4l2_open+0xa0/0x118 [ 17.293922] chrdev_open+0xa0/0x198 [ 17.297408] do_dentry_open+0x110/0x3b0 [ 17.301240] vfs_open+0x28/0x30 [ 17.304381] path_openat+0x4a0/0x1240 [ 17.308040] do_filp_open+0x74/0xf8 [ 17.311525] do_sys_open+0x168/0x218 [ 17.315097] __arm64_sys_openat+0x20/0x28 [ 17.319107] el0_svc_common.constprop.0+0x68/0x160 [ 17.323898] el0_svc_handler+0x20/0x80 [ 17.327647] el0_svc+0x8/0xc [ 17.330629] Unable to handle kernel paging request at virtual address 0000ffffb6762a20 [ 17.338592] Mem abort info: [ 17.341386] ESR = 0x82000007 [ 17.344471] EC = 0x20: IABT (lower EL), IL = 32 bits [ 17.349632] SET = 0, FnV = 0 [ 17.352854] EA = 0, S1PTW = 0 [ 17.356017] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000b7b52000 [ 17.362469] [0000ffffb6762a20] pgd=00000000b7e09003, pud=00000000b751c003, pmd=00000000b739d003, pte=0000000000000000 [ 17.373119] Internal error: Oops: 82000007 [#1] PREEMPT SMP [ 17.378694] Modules linked in: crct10dif_ce brcmfmac brcmutil synaptics_dsx_i2c fsl_imx8_ddr_perf galcore(O) [ 17.388537] CPU: 1 PID: 649 Comm: v4l_id Tainted: G W O 5.4.3-lts-lf-5.4.y+gf8118585ee3c #1 [ 17.398013] Hardware name: FSL i.MX8MM DDR4 EVK RevB board (DT) [ 17.403930] pstate: 00001000 (nzcv daif -PAN -UAO) Message from syslogd@imx8mm[ 17.411409] pc : 0000ffffb6762a20 evk at[ F r1i7 .J4u1l4 73119 ] lr : 0000000000401014 0:01:5[5 2 01270. 4..1.95 ] sp : 0000ffffd3e8fdd0 imx8mmevk kern[e l :1 7[. 4 2 4547] x29: 0000ffffd3e8fdd0 x28: 0000000000000000 [ 17.431761] x27: 0000000000000000 x26: 0000000000000000 7.373119] I[n te 1r7n.a4l 3e7r070] x25: 0000000000000000 x24: 0000000000000000 ror: Oops: [ 8 2 01070.04074 4[197] x23: 0000000000000000 x22: 0000000000000000 .1] PREEMPT[ S M P1 451326] x21: 0000000000000000 x20: 0000000000000003 [ 17.458193] x19: 0000000000413c90 x18: 0000000000000001 [ 17.463501] x17: 0000ffffb6762a20 x16: 0000000000413f40 [ 17.468810] x15: 000000006ffffe3b x14: 0000000000000000 [ 17.474119] x13: 0000000000000000 x12: 0000ffffb68c5150 [ 17.479427] x11: 0000000000000040 x10: 0000200000200000 [ 17.484735] x9 : 0000000000000001 x8 : 000000000000001d [ 17.490043] x7 : 7f7f7f7f7f7f7f7f x6 : 0000000000000002 [ 17.495351] x5 : 8000000000000000 x4 : 0000000000000000 [ 17.500660] x3 : 0000000000000000 x2 : 0000ffffd3e8fe00 [ 17.505968] x1 : 0000000080685600 x0 : 0000000000402e88 [ 17.511283] ---[ end trace 8c06898a49c7a09e ]--- [ 17.515944] Kernel panic - not syncing: Aiee, killing interrupt handler! [ 17.522658] SMP: stopping secondary CPUs [ 17.526900] Kernel Offset: disabled [ 17.530390] CPU features: 0x0002,2000200c [ 17.534395] Memory Limit: none [ 17.537454] ---[ end Kernel panic - not syncing: Aiee, killing interrupt handler! ]---
[ 74.850781] audit: type=1006 audit(1596227365.231:3): pid=297 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=2 res=1 [ 74.850781] audit: type=1006 audit(1596227365.231:3): pid=297 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=2 res=1 [ 84.207027] configfs-gadget gadget: uvc: uvc_function_bind() [ 84.207027] configfs-gadget gadget: uvc: uvc_function_bind() [ 84.217592] BUG: scheduling while atomic: v4l_id/324/0x00000002 [ 84.220719] Modules linked in: mxc_mipi_csi mx6s_capture ov5640_camera_mipi_v2 synaptics_dsx_i2c fsl_imx8_ddr_perf galcore(O) [ 84.226457] CPU: 3 PID: 324 Comm: v4l_id Tainted: G O 5.4.3-lts-lf-5.4.y+gf8118585ee3c #1 [ 84.231202] Hardware name: D4-BB (NXP i.MX8MM DDR4 SOM + BB) board (DT) [ 84.234511] Call trace: [ 84.217592] BUG dump_backtrace+0x0/0x140 [0m: scheduling while atomic[ 84.238998] show_stack+0x14/0x20 : v4l_id/324/0x00000002 84.242091] dump_stack+0xb4/0xf8 [ 84.245177] __schedule_bug+0x5c/0x70 m[ 84.220719] Modules [ 84.247014] __schedule+0x484/0x530 linked in: mxc_mipi_csi mx6s_[ 84.250188] schedule+0x40/0xe0 capture ov5640_camera_mipi_v2 syn[ 84.253193] schedule_hrtimeout_range_clock+0x9c/0x118 aptics_dsx_i2c fsl_imx8_ddr_perf [ 84.257189] schedule_hrtimeout_range+0x10/0x18 galcore(O) [ 84.226457] usleep_range+0x74/0xa0 [0mCPU: 3 PID: 324 Comm:[ 84.264061] ci_controller_resume+0x90/0xd8 v4l_id Tainted: G O [ 84.267580] ci_runtime_resume+0xc/0x18 5.4.3-lts-lf-5.4.y+gf8118585ee[ 84.270931] pm_generic_runtime_resume+0x28/0x40 3c #1 [ 84.231202] 84.274668] __rpm_callback+0x88/0x140 [ 84.277971] rpm_callback+0x20/0x80 33mHardware name: D4-BB (NXP [ 84.279718] rpm_resume+0x39c/0x580 i.MX8MM DDR4 SOM + BB) board (DT)[ 84.282893] __pm_runtime_resume+0x38/0x80 [ 84.286373] ci_udc_pullup+0x40/0xf8 [ 84.234511] Call tr[ 84.288165] usb_gadget_activate+0x48/0x78 ace: [ 84.235751] du[ 84.291643] usb_function_activate+0x68/0xb8 mp_backtrace+0x0/0x140 [ [ 84.295209] uvc_function_connect+0x18/0x50 84.238998] show_stack+0x14/0[ 84.298728] uvc_v4l2_open+0x5c/0x78 x20 [ 84.242091] dum[ 84.301952] v4l2_open+0xa0/0x118 [ 84.305037] chrdev_open+0xa0/0x190 p_stack+0xb4/0xf8 [ 84.24[ 84.306788] do_dentry_open+0x104/0x3c8 5177] __schedule_bug+0x5c/0x[ 84.310136] vfs_open+0x28/0x30 70 [ 84.247014] __sc[ 84.313137] path_openat+0x4a0/0x11e8 hedule+0x484/0x530 [ 84.2[ 84.316397] do_filp_open+0x74/0xf8 50188] schedule+0x40/0xe0 [ 84.319571] do_sys_open+0x168/0x218 [ 84.322746] __arm64_sys_openat+0x20/0x28 [ 84.324755] el0_svc_common.constprop.0+0x58/0xf0 [ 84.253193] schedule[ 84.327109] el0_svc_handler+0x20/0x80 _hrtimeout_range_clock+0x9c/0x118[ 84.330416] el0_svc+0x8/0xc [ 84.257189] schedu[ 84.333555] ------------[ cut here ]------------ le_hrtimeout_range+0x10/0x18 84.337047] WARNING: CPU: 3 PID: 324 at arch/arm64/kernel/fpsimd.c:272 task_fpsimd_load+0x8c/0x98 2m[ 84.260884] usleep_rang[ 84.342893] Modules linked in: mxc_mipi_csi mx6s_capture ov5640_camera_mipi_v2 synaptics_dsx_i2c fsl_imx8_ddr_perf galcore(O) e+0x74/0xa0 [ 84.264061] [ 84.349978] CPU: 3 PID: 324 Comm: v4l_id Tainted: G W O 5.4.3-lts-lf-5.4.y+gf8118585ee3c #1 [ 84.356143] Hardware name: D4-BB (NXP i.MX8MM DDR4 SOM + BB) board (DT) ci_controller_resume+0x90/0x[ 84.359453] pstate: 40000005 (nZcv daif -PAN -UAO) [ 84.363282] pc : task_fpsimd_load+0x8c/0x98 d8 [ 84.267580] ci_r[ 84.365376] lr : task_fpsimd_load+0xc/0x98 untime_resume+0xc/0x18 [ [ 84.368853] sp : ffff800011523dd0 84.270931] pm_generic_runtim[ 84.371940] x29: ffff800011523dd0 x28: ffff000079de3500 e_resume+0x28/0x40 [ 84.2[ 84.376026] x27: 0000000000000000 x26: 0000000000000000 [ 84.380112] x25: 0000000056000000 x24: 0000000000000015 74668] __rpm_callback+0x88/0[ 84.382769] x23: ffff800010c9de88 x22: ffff000079de3500 x140 [ 84.277971] rp[ 84.386856] x21: ffff000079de3b80 x20: ffff800011523ec0 [ 84.390942] x19: ffff000079de3500 x18: 0000000000000000 m_callback+0x20/0x80 [ 84[ 84.393600] x17: 0000000000000000 x16: 0000000000000000 .279718] rpm_resume+0x39c/0x[ 84.397686] x15: 0000000000000000 x14: 0000000000000000 580 [ 84.282893] __p[ 84.401772] x13: 0000000000000000 x12: 0000000000000001 [ 84.405858] x11: 0000000000000000 x10: 0000000000000920 m_runtime_resume+0x38/0x80 [ 84.408516] x9 : ffff800011523740 x8 : ffff000079de3e80 [ 84.286373] ci_udc_pullup[ 84.412602] x7 : 0000000000000000 x6 : 0000000000000000 +0x40/0xf8 [ 84.288165] x5 : 0000000000000000 x4 : ffff000079de3500 [0m usb_gadget_activate+0x48/0x78[ 84.420773] x3 : 0000000000000000 x2 : 0000000000000200 [ 84.291643] usb_fu[ 84.424859] x1 : 0000000000000000 x0 : 0000000000000000 nction_activate+0x68/0xb8 [[ 84.428946] Call trace: 84.295209] uvc_function_c[ 84.431605] task_fpsimd_load+0x8c/0x98 onnect+0x18/0x50 [ 84.298[ 84.434950] fpsimd_restore_current_state+0x5c/0xa8 728] uvc_v4l2_open+0x5c/0x78[ 84.438819] do_notify_resume+0x114/0x460 [ 84.442255] work_pending+0x8/0x10 [ 84.301952] v4l2_o[ 84.443958] ---[ end trace 5616c2633b2bb6c3 ]--- pen+0xa0/0x118 [ 84.30503[ 84.447768] ------------[ cut here ]------------ [ 84.451449] WARNING: CPU: 3 PID: 324 at arch/arm64/kernel/fpsimd.c:156 __get_cpu_fpsimd_context+0x24/0x30 [ 84.456234] Modules linked in: mxc_mipi_csi mx6s_capture ov5640_camera_mipi_v2 synaptics_dsx_i2c fsl_imx8_ddr_perf galcore(O) [ 84.461900] CPU: 3 PID: 324 Comm: v4l_id Tainted: G W O 5.4.3-lts-lf-5.4.y+gf8118585ee3c #1 [ 84.466640] Hardware name: D4-BB (NXP i.MX8MM DDR4 SOM + BB) board (DT) [ 84.469948] pstate: 20000085 (nzCv daIf -PAN -UAO) [ 84.472346] pc : __get_cpu_fpsimd_context+0x24/0x30 [ 84.474787] lr : fpsimd_thread_switch+0x1c/0xc0 [ 84.477054] sp : ffff800011523ba0 [ 84.478712] x29: ffff800011523ba0 x28: ffff000079de3500 [ 84.481372] x27: ffff800011523c40 x26: ffff000079de3a80 [ 84.484030] x25: ffff800010a2a9f0 x24: ffff800010a136dc [ 84.486690] x23: ffff000079de3500 x22: ffff800010eb8018 [ 84.489348] x21: ffff000078aa3500 x20: ffff000079de3500 [ 84.492005] x19: ffff000078aa3500 x18: 0000000000000000 [ 84.494665] x17: 0000000000000000 x16: 0000000000000000 [ 84.497323] x15: 0000000000000000 x14: 003d0707b85ea69b [ 84.499981] x13: 000000019c491828 x12: 0000000000000001 [ 84.502640] x11: 0000000000000000 x10: 0000000000000001 [ 84.505298] x9 : 0000000000000000 x8 : ffff00007dbccf00 [ 84.507956] x7 : ffff000078aa3680 x6 : ffff00007dbccf00 [ 84.510615] x5 : 0000000000000000 x4 : 00000000000095e7 [ 84.513273] x3 : 0000000000000001 x2 : 0000000000000001 [ 84.515930] x1 : ffff80006cd0a000 x0 : ffff800010eb8078 [ 84.518591] Call trace: [ 84.519817] __get_cpu_fpsimd_context+0x24/0x30 [ 84.522088] __switch_to+0x1c/0x148 [ 84.523838] __schedule+0x220/0x530 [ 84.525586] preempt_schedule_irq+0x4c/0x78 [ 84.527679] arm64_preempt_schedule_irq+0x10/0x20 [ 84.530034] el1_irq+0xd0/0x180 [ 84.531607] task_fpsimd_load+0x90/0x98 [ 84.533529] fpsimd_restore_current_state+0x5c/0xa8 [ 84.535970] do_notify_resume+0x114/0x460 [ 84.537977] work_pending+0x8/0x10 [ 84.539682] ---[ end trace 5616c2633b2bb6c4 ]--- 7] chrdev_open+0xa0/0x190 ------------[ cut here ]------------ [32m[ 84.306788] do_dentry[ 84.545794] WARNING: CPU: 1 PID: 324 at arch/arm64/kernel/fpsimd.c:178 __put_cpu_fpsimd_context+0x20/0x28 _open+0x104/0x3c8 [ 84.31[ 84.551992] Modules linked in: mxc_mipi_csi mx6s_capture ov5640_camera_mipi_v2 synaptics_dsx_i2c fsl_imx8_ddr_perf galcore(O) 0136] vfs_open+0x28/0x30 84.559078] CPU: 1 PID: 324 Comm: v4l_id Tainted: G W O 5.4.3-lts-lf-5.4.y+gf8118585ee3c #1 32m[ 84.313137] path_opena[ 84.565243] Hardware name: D4-BB (NXP i.MX8MM DDR4 SOM + BB) board (DT) [ 84.569982] pstate: 60000005 (nZCv daif -PAN -UAO) t+0x4a0/0x11e8 [ 84.31639[ 84.572380] pc : __put_cpu_fpsimd_context+0x20/0x28 7] do_filp_open+0x74/0xf8 lr : put_cpu_fpsimd_context+0xc/0x40 [32m[ 84.319571] do_sys_op[ 84.579985] sp : ffff800011523dd0 en+0x168/0x218 [ 84.32274[ 84.583073] x29: ffff800011523dd0 x28: ffff000079de3500 6] __arm64_sys_openat+0x20/0[ 84.587158] x27: 0000000000000000 x26: 0000000000000000 x28 [ 84.324755] el0[ 84.591244] x25: 0000000056000000 x24: 0000000000000015 _svc_common.constprop.0+0x58/0xf0[ 84.595329] x23: ffff800010c9de88 x22: ffff000079de3500 [ 84.327109] el0_sv[ 84.599415] x21: ffff000079de3b80 x20: ffff800011523ec0 [ 84.603501] x19: ffff000079de3500 x18: 0000000000000000 c_handler+0x20/0x80 [ 84.[ 84.606158] x17: 0000000000000000 x16: 0000000000000000 330416] el0_svc+0x8/0xc 84.610244] x15: 0000000000000000 x14: 0000000000000000 2m[ 84.333555] ------------[ 84.614330] x13: 0000000000000000 x12: 0000000000000001 [ 84.618416] x11: 0000000000000000 x10: 0000000000000920 [ cut here ]------------ [ [ 84.621074] x9 : ffff800011523740 x8 : 0000000000000000 84.337047] WARNING[ 84.625160] x7 : 0000000000000000 x6 : 0000000000000000 : CPU: 3 PID: 324 at arch/arm[ 84.629246] x5 : ffff000079de3ea0 x4 : 0000000000000000 64/kernel/fpsimd.c:272 task_fpsim[ 84.633332] x3 : ffff00007db96060 x2 : 0000000000000000 d_load+0x8c/0x98 [ 84[ 84.637417] x1 : ffff80006ccde000 x0 : ffff800010eb8078 .342893] Modules linked [ 84.641504] Call trace: in: mxc_mipi_csi mx6s_capture[ 84.644160] __put_cpu_fpsimd_context+0x20/0x28 ov5640_camera_mipi_v2 synaptics_[ 84.647855] fpsimd_restore_current_state+0x64/0xa8 dsx_i2c fsl_imx8_ddr_perf galcore[ 84.651723] do_notify_resume+0x114/0x460 (O) [ 84.349978] 84.655156] work_pending+0x8/0x10 [ 84.658286] ---[ end trace 5616c2633b2bb6c5 ]--- mCPU: 3 PID: 324 Comm: v4l_id[ 84.660739] Unable to handle kernel paging request at virtual address 0000ffff9a0bfa20 Tainted: G W O 5.4.[ 84.666018] Mem abort info: 3-lts-lf-5.4.y+gf8118585ee3c #1 [ 84.668839] ESR = 0x82000007 [ 8[4 . 3 58641.4637] 1[3] EC = 0x20: IABT (lower EL), IL = 32 bits 0mHardware name: D4-BB ([ 84.675275] SET = 0, FnV = 0 NXP i.MX8MM DDR4 SOM + BB) board [ 84.678225] EA = 0, S1PTW = 0 (DT) [ 84.359453] 84.681230] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000b5324000 3mpstate: 40000005 (nZcv daif[ 84.685877] [0000ffff9a0bfa20] pgd=00000000b5333003, pud=00000000b5097003, pmd=00000000b5099003, pte=0000000000000000 [ 84.692611] Internal error: Oops: 82000007 [#1] PREEMPT SMP -PAN -UAO) [ 84.363282] [ 84.695407] Modules linked in: mxc_mipi_csi mx6s_capture ov5640_camera_mipi_v2 synaptics_dsx_i2c fsl_imx8_ddr_perf galcore(O) pc : task_fpsimd_loa[ 84.702496] CPU: 1 PID: 324 Comm: v4l_id Tainted: G W O 5.4.3-lts-lf-5.4.y+gf8118585ee3c #1 [ 84.708660] Hardware name: D4-BB (NXP i.MX8MM DDR4 SOM + BB) board (DT) 0x8c/0x98[ [43.27m1[1 9 72] pstate: 00000000 (nzcv daif -PAN -UAO) 84.3653[7 6 ] 8[.0m7[53237m5] pc : 0000ffff9a0bfa20 lr [: t 8a4s.k7_1f7p7s9i8m] lr : 0000000000401014 [ 84.720278] sp : 0000fffff6ca0810 .load+0xc/[0 x 9884 7[13923m5] x29: 0000fffff6ca0810 x28: 0000000000000000 [ 84.368[8 5 3] 8 4702m5[01] x27: 0000000000000000 x26: 0000000000000000 3msp : f[f f f 88040.0712195066] x25: 0000000000000000 x24: 0000000000000000 23dd0 m [ 8844..733721674] x23: 0000000000000000 x22: 0000000000000000 940] 3 3 m x8249.[3062m82] x21: 0000000000000000 x20: 0000000000000003 ffff8000115[2 3 d d804 .x72389:847] x19: 0000000000413c90 x18: 0000000000000001 ffff000079d[e 3 5 0804 . 7[3355] x17: 0000ffff9a0bfa20 x16: 0000000000413f40 2m[ 84.376[0 2 6 ]8 4[407m04] x15: 000000006ffffe3b x14: 0000000000000000 [ 84.750671] x13: 0000000000000000 x12: 0000ffff9a222150 [33mx27[ : 08040.07050303031] x11: 0000000000000040 x10: 0000200000200000 0000000 x26[: 0 08040.00705068097] x9 : 0000000000000001 x8 : 000000000000001d 0000000 3 2 m [8 4 . 76804.505] x7 : 7f7f7f7f7f7f7f7f x6 : 0000000000000002 380112] m 3834.m7x624513] x5 : 8000000000000000 x4 : 0000000000000000 0m: 0000000[0 5 6 008040.0706 7x678] x3 : 0000000000000000 x2 : 0000fffff6ca0840 24: 000000[0 0 0 0840.0707011258 6] x1 : 0000000080685600 x0 : 0000000000402e88 [ 84.382769] x2 84.774860] ---[ end trace 5616c2633b2bb6c6 ]--- 3: ffff800010c9de88 x22: ffff[ 84.778593] Kernel panic - not syncing: Aiee, killing interrupt handler! 000079de3500 [ 84.386856[ 84.783343] SMP: stopping secondary CPUs ] x21: ffff000079de3[ 84.787024] Kernel Offset: disabled [ 84.790186] CPU features: 0x0002,2000200c [ 84.792191] Memory Limit: none [ 84.793725] ---[ end Kernel panic - not syncing: Aiee, killing interrupt handler! ]---
[ 60.800199] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: [ 60.803269] rcu: 3-...0: (1 GPs behind) idle=c4a/1/0x4000000000000000 softirq=3704/3705 fqs=1912 [ 60.800199] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: [ 60.803269] rcu: 3-...0: (1 GPs behind) idle=c4a/1/0x4000000000000000 softirq=3704/3705 fqs=1912 [ 60.807750] (detected by 2, t=5252 jiffies, g=1389, q=1153) [ 60.807753] Task dump for CPU 3: [ 60.807756] v4l_id R running task 0 349 347 0x00000202 [ 60.807762] Call trace: [ 60.807780] ret_from_fork+0x0/0x18 [ 123.820176] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: [ 123.823247] rcu: 3-...0: (1 GPs behind) idle=c4a/1/0x4000000000000000 softirq=3704/3705 fqs=8371 [ 123.820176] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: [ 123.823247] rcu: 3-...0: (1 GPs behind) idle=c4a/1/0x4000000000000000 softirq=3704/3705 fqs=8371 [ 123.827728] (detected by 2, t=21007 jiffies, g=1389, q=3913) [ 123.827730] Task dump for CPU 3: [ 123.827734] v4l_id R running task 0 349 347 0x00000202 [ 123.827740] Call trace: [ 123.827755] ret_from_fork+0x0/0x18
Attachment:
uvc-gadget.sh
Description: uvc-gadget.sh