Hans, Thanks for your test and report. I have made some changes locally which will support the latest v4l2-async APIs, I will also add the fix for this issue and merge them in v3. ------------------------------------------------------------------------ BRs, Bingbu Cao >-----Original Message----- >From: Hans de Goede <hdegoede@xxxxxxxxxx> >Sent: Sunday, September 3, 2023 10:33 PM >To: Claus Stovgaard <claus.stovgaard@xxxxxxxxx>; Bingbu Cao ><bingbu.cao@xxxxxxxxxxxxxxx>; Cao, Bingbu <bingbu.cao@xxxxxxxxx>; linux- >media@xxxxxxxxxxxxxxx; sakari.ailus@xxxxxxxxxxxxxxx; >laurent.pinchart@xxxxxxxxxxxxxxxx >Cc: ilpo.jarvinen@xxxxxxxxxxxxxxx; tfiga@xxxxxxxxxxxx; >senozhatsky@xxxxxxxxxxxx; andriy.shevchenko@xxxxxxxxxxxxxxx; >tomi.valkeinen@xxxxxxxxxxxxxxxx; Qiu, Tian Shu <tian.shu.qiu@xxxxxxxxx>; >Wang, Hongju <hongju.wang@xxxxxxxxx> >Subject: Re: [PATCH 00/15] Intel IPU6 and IPU6 input system drivers > >Hi All, > >On 9/2/23 16:54, Hans de Goede wrote: >> Attached is one more patch which fixes an oops when using lockdep. >> >> With both patches applied this is: >> >> Tested-by: Hans de Goede <hdegoede@xxxxxxxxxx> > >I withdraw my Tested-by. After a fresh install the driver crashed, >messing up the entire machine, due to the firmware not being installed. > >On missing firmware the driver should simply exit cleanly, not take down >the entire machine. > >Here is a backtrace of the crash: > >[ 12.549799] intel-ipu6 0000:00:05.0: cpd file name: >intel/ipu6ep_fw.bin >[ 12.551859] intel-ipu6 0000:00:05.0: Direct firmware load for >intel/ipu6ep_fw.bin failed with error -2 >[ 12.551876] intel-ipu6 0000:00:05.0: Requesting signed firmware failed >[ 12.551880] intel-ipu6: probe of 0000:00:05.0 failed with error -2 >[ 12.552112] BUG: kernel NULL pointer dereference, address: >0000000000000490 >[ 12.552116] #PF: supervisor read access in kernel mode >[ 12.552118] #PF: error_code(0x0000) - not-present page >[ 12.552119] PGD 0 P4D 0 >[ 12.552121] Oops: 0000 [#1] PREEMPT SMP NOPTI >[ 12.552124] CPU: 2 PID: 692 Comm: (udev-worker) Not tainted 6.5.0+ #1 >[ 12.552126] Hardware name: LENOVO 21CEZ9Q3US/21CEZ9Q3US, BIOS N3AET72W >(1.37 ) 03/02/2023 >[ 12.552127] RIP: 0010:ipu6_buttress_isr+0x6d/0x3a0 [intel_ipu6] >[ 12.552137] Code: 34 03 00 00 c7 44 24 04 00 00 00 00 41 bc 64 00 00 >00 45 31 ed 48 8b 85 50 04 00 00 89 98 9c 00 00 00 45 31 ff 4a 8b 7c fc >08 <4c> 8b b7 90 04 00 00 48 85 ff 74 46 48 83 bf 88 04 00 00 00 74 3c >[ 12.552138] RSP: 0018:ffffb5928145fb08 EFLAGS: 00010046 >[ 12.552140] RAX: ffffb59289000000 RBX: 0000000000000040 RCX: >0000000000000001 >[ 12.552142] RDX: 0000000000000000 RSI: ffff90a2c67a2828 RDI: >0000000000000000 >[ 12.552143] RBP: ffff90a2c67a2828 R08: 0000000000000001 R09: >0000000000000001 >[ 12.552144] R10: 0000000000000001 R11: 0000000000000001 R12: >0000000000000064 >[ 12.552145] R13: 0000000000000000 R14: ffff90a2c5b79400 R15: >0000000000000000 >[ 12.552146] FS: 00007fd5bf725940(0000) GS:ffff90a60f100000(0000) >knlGS:0000000000000000 >[ 12.552148] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 >[ 12.552150] CR2: 0000000000000490 CR3: 000000010c28c000 CR4: >0000000000750ee0 >[ 12.552152] PKRU: 55555554 >[ 12.552153] Call Trace: >[ 12.552155] <TASK> >[ 12.552157] ? __die+0x1f/0x70 >[ 12.552162] ? page_fault_oops+0x13d/0x480 >[ 12.552167] ? do_user_addr_fault+0x65/0x830 >[ 12.552170] ? exc_page_fault+0x36/0x200 >[ 12.552174] ? exc_page_fault+0x7b/0x200 >[ 12.552176] ? asm_exc_page_fault+0x22/0x30 >[ 12.552180] ? ipu6_buttress_isr+0x6d/0x3a0 [intel_ipu6] >[ 12.552186] ? _raw_spin_unlock_irqrestore+0x35/0x60 >[ 12.552190] free_irq+0x256/0x3a0 >[ 12.552194] devres_release_all+0xa5/0xe0 >[ 12.552200] device_unbind_cleanup+0xe/0x70 >[ 12.552203] really_probe+0x145/0x3e0 >[ 12.552206] ? __pfx___driver_attach+0x10/0x10 >[ 12.552209] __driver_probe_device+0x78/0x160 >[ 12.552212] driver_probe_device+0x1f/0x90 >[ 12.552215] __driver_attach+0xd2/0x1c0 >[ 12.552218] bus_for_each_dev+0x63/0xa0 >[ 12.552221] bus_add_driver+0x115/0x210 >[ 12.552223] driver_register+0x55/0x100 >[ 12.552226] ? __pfx_ipu6_init+0x10/0x10 [intel_ipu6] >[ 12.552234] ipu6_init+0x20/0xff0 [intel_ipu6] >[ 12.552241] ? __pfx_ipu6_init+0x10/0x10 [intel_ipu6] >[ 12.552247] do_one_initcall+0x5a/0x360 >[ 12.552251] ? rcu_is_watching+0xd/0x40 >[ 12.552254] ? kmalloc_trace+0xa5/0xb0 >[ 12.552258] do_init_module+0x60/0x230 >[ 12.552261] init_module_from_file+0x75/0xa0 >[ 12.552265] idempotent_init_module+0xf9/0x270 >[ 12.552268] ? subflow_v6_conn_request+0xc0/0x120 >[ 12.552273] __x64_sys_finit_module+0x5a/0xb0 >[ 12.552276] do_syscall_64+0x59/0x90 >[ 12.552279] ? do_syscall_64+0x68/0x90 >[ 12.552281] ? lockdep_hardirqs_on+0x7d/0x100 >[ 12.552283] entry_SYSCALL_64_after_hwframe+0x6e/0xd8 >[ 12.552286] RIP: 0033:0x7fd5bff2cb5d >[ 12.552288] Code: c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 f3 0f 1e fa >48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f >05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 7b 92 0c 00 f7 d8 64 89 01 48 >[ 12.552289] RSP: 002b:00007ffc50c03b38 EFLAGS: 00000246 ORIG_RAX: >0000000000000139 >[ 12.552291] RAX: ffffffffffffffda RBX: 000055e540797f00 RCX: >00007fd5bff2cb5d >[ 12.552292] RDX: 0000000000000000 RSI: 00007fd5c052607d RDI: >000000000000000c >[ 12.552293] RBP: 00007ffc50c03bf0 R08: 0000000000000000 R09: >00007ffc50c03b80 >[ 12.552294] R10: 000000000000000c R11: 0000000000000246 R12: >00007fd5c052607d >[ 12.552296] R13: 0000000000020000 R14: 000055e540797030 R15: >000055e540796290 >[ 12.552301] </TASK> >[ 12.552302] Modules linked in: v4l2_async(+) processor_thermal_rfim >industrialio_triggered_buffer ecdh_generic(+) processor_thermal_mbox >kfifo_buf videodev snd processor_thermal_rapl intel_skl_int3472_tps68470 >intel_ipu6(+) industrialio thunderbolt(+) soundcore tps68470_regulator >rfkill mc intel_rapl_common ipu_bridge intel_hid int3403_thermal(+) >idma64(+) soc_button_array intel_vsec igen6_edac int340x_thermal_zone >clk_tps68470 joydev intel_skl_int3472_discrete sparse_keymap >int3400_thermal acpi_thermal_rel acpi_pad acpi_tad loop zram >hid_sensor_hub intel_ishtp_hid i915 i2c_algo_bit crct10dif_pclmul >drm_buddy crc32_pclmul ttm crc32c_intel drm_display_helper intel_ish_ipc >video nvme ghash_clmulni_intel ucsi_acpi wacom hid_multitouch >sha512_ssse3 typec_ucsi nvme_core intel_ishtp cec typec i2c_hid_acpi >i2c_hid wmi pinctrl_tigerlake serio_raw ip6_tables ip_tables fuse >[ 12.552348] CR2: 0000000000000490 >[ 12.552351] ---[ end trace 0000000000000000 ]--- >[ 12.552352] RIP: 0010:ipu6_buttress_isr+0x6d/0x3a0 [intel_ipu6] >[ 12.552361] Code: 34 03 00 00 c7 44 24 04 00 00 00 00 41 bc 64 00 00 >00 45 31 ed 48 8b 85 50 04 00 00 89 98 9c 00 00 00 45 31 ff 4a 8b 7c fc >08 <4c> 8b b7 90 04 00 00 48 85 ff 74 46 48 83 bf 88 04 00 00 00 74 3c >[ 12.552363] RSP: 0018:ffffb5928145fb08 EFLAGS: 00010046 >[ 12.552365] RAX: ffffb59289000000 RBX: 0000000000000040 RCX: >0000000000000001 >[ 12.552366] RDX: 0000000000000000 RSI: ffff90a2c67a2828 RDI: >0000000000000000 >[ 12.552367] RBP: ffff90a2c67a2828 R08: 0000000000000001 R09: >0000000000000001 >[ 12.552368] R10: 0000000000000001 R11: 0000000000000001 R12: >0000000000000064 >[ 12.552369] R13: 0000000000000000 R14: ffff90a2c5b79400 R15: >0000000000000000 >[ 12.552370] FS: 00007fd5bf725940(0000) GS:ffff90a60f100000(0000) >knlGS:0000000000000000 >[ 12.552371] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 >[ 12.552372] CR2: 0000000000000490 CR3: 000000010c28c000 CR4: >0000000000750ee0 >[ 12.552373] PKRU: 55555554 > >Please fix this for the next version. Reproducing this is easy, just >remove the firmware file from under /lib/firmware/intel . > >Regards, > >Hans >