On Wed, Mar 20, 2024 at 08:39:26AM +0100, Christian A. Ehrhardt wrote:
Check the UCSI_CCI_RESET_COMPLETE complete flag before starting another reset. Use a UCSI_SET_NOTIFICATION_ENABLE command to clear the flag if it is set.
Hi Christian, It looks like kernelci is able to trigger the warning added by this commit: [ 15.988528] WARNING: CPU: 0 PID: 8 at drivers/usb/typec/ucsi/ucsi.c:1377 ucsi_reset_ppm+0x1af/0x1c0 [typec_ucsi] [ 15.999924] Modules linked in: snd_sof_pci_intel_cnl snd_sof_intel_hda_generic snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_soc_acpi_intel_match snd_soc_acpi snd_soc_acpi_intel_sdca_quirks snd_soc_sdca snd_soc_avs snd_soc_hda_codec snd_hda_ext_core btusb btrtl snd_soc_core intel_pmc_core_pltdrv iTCO_wdt intel_ish_ipc snd_compress btintel btbcm intel_pmc_bxt intel_pmc_core btmtk ucsi_acpi bluetooth gsmi wilco_charger wilco_ec_telem typec_ucsi intel_vsec pmt_telemetry roles pmt_class i2c_hid_acpi iwlmvm x86_pkg_temp_thermal snd_pcm_dmaengine iwlwifi watchdog i2c_hid intel_ishtp idma64 rtc_wilco_ec wilco_ec_debugfs uvcvideo processor_thermal_device_pci_legacy videobuf2_vmalloc elan_i2c intel_soc_dts_iosf videobuf2_memops uvc videobuf2_v4l2 videobuf2_common processor_thermal_device processor_thermal_wt_hint processor_thermal_rfim processor_thermal_wt_req processor_thermal_power_floor processor_thermal_mbox int3403_thermal [ 16.000010] int340x_thermal_zone typec memconsole_coreboot memconsole vpd_sysfs wilco_ec pinctrl_cannonlake intel_vbtn int3400_thermal wilco_ec_events chromeos_pstore coreboot_table acpi_thermal_rel [ 16.120093] CPU: 0 UID: 0 PID: 8 Comm: kworker/0:0 Not tainted 6.13.0-rc2 #1 [ 16.127972] Hardware name: Dell Inc. Arcada/Arcada, BIOS Google_Arcada.12200.103.0 07/29/2020 Linux debian-bookworm-amd64 6.13.0-rc2 #1 SMP PREEMPT_DYNAMIC Su[ 16.137499] Workqueue: events_long ucsi_init_work [typec_ucsi] [ 16.150229] RIP: 0010:ucsi_reset_ppm+0x1af/0x1c0 [typec_ucsi] [ 16.156654] Code: 44 24 04 a9 00 00 00 08 0f 85 36 ff ff ff 4c 89 74 24 10 48 8b 05 b1 fe f1 e1 49 39 c4 79 8d bb 92 ff ff ff e9 1b ff ff ff 90 <0f> 0b 90 e9 4c ff ff ff e8 74 72 f9 df 0f 1f 40 00 90 90 90 90 90 [ 16.177649] RSP: 0018:ffffa62bc0053dd0 EFLAGS: 00010206 [ 16.189709] RAX: 0000000008000000 RBX: 0000000000000000 RCX: 0000000000000002 [ 16.203899] RDX: 00000000fffba9c0 RSI: ffffa62bc0053dd4 RDI: ffff91f601610200 [ 16.211860] RBP: ffff91f601610200 R08: 0000000000000400 R09: 0000000000000001 [ 16.219831] R10: 0000000000000001 R11: 00000000000ee6b2 R12: 00000000fffba9be [ 16.227801] R13: ffff91f6016102c0 R14: ffff91f60006f605 R15: ffff91f6001b8000 [ 16.235770] FS: 0000000000000000(0000) GS:ffff91f764400000(0000) knlGS:0000000000000000 [ 16.244810] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 16.251226] CR2: 00007f5bcc93b030 CR3: 000000022542e001 CR4: 00000000003706f0 [ 16.259195] Call Trace: [ 16.261923] <TASK> [ 16.264261] ? __warn+0x84/0x130 [ 16.267862] ? ucsi_reset_ppm+0x1af/0x1c0 [typec_ucsi] [ 16.273600] ? report_bug+0x164/0x190 [ 16.277679] ? handle_bug+0x54/0x90 [ 16.281572] ? exc_invalid_op+0x17/0x70 [ 16.285853] ? asm_exc_invalid_op+0x1a/0x20 [ 16.290523] ? ucsi_reset_ppm+0x1af/0x1c0 [typec_ucsi] [ 16.296261] ucsi_init_work+0xaa/0xb20 [typec_ucsi] [ 16.301709] process_one_work+0x160/0x390 [ 16.306185] worker_thread+0x2a0/0x3b0 [ 16.310359] ? __pfx_worker_thread+0x10/0x10 [ 16.315126] kthread+0xc8/0xf0 [ 16.318533] ? __pfx_kthread+0x10/0x10 [ 16.322706] ret_from_fork+0x2c/0x50 [ 16.326687] ? __pfx_kthread+0x10/0x10 [ 16.330869] ret_from_fork_asm+0x1a/0x30 [ 16.335238] </TASK> -- Thanks, Sasha