Hi, On 9/4/23 05:13, Cao, Bingbu wrote: > 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. Sounds good, thank you. Regards, Hans > > > ------------------------------------------------------------------------ > 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 >> >