Re: [PATCH 5/5] usb: typec: ucsi: Clear UCSI_CCI_RESET_COMPLETE before reset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux