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

Fedor Pchelkin
2025-01-19T13:23:24Z

Hi,

Christian A. Ehrhardt wrote:
> The (compile tested) diff below should fix it and I can turn this
> into a proper patch but I lost access to test hardware with UCSI,
> thus this would need a "Tested-by:" from someone else before it can
> be included. Maybe Saranya can do this?
>
> Best regards Christian
>
>
> commit b44ba223cd840e6dbab6c7f69da6203c7a8ba570
> Author: Christian A. Ehrhardt <lk@c--e.de>
> Date: Mon Dec 16 21:52:46 2024 +0100
>
> acpi: typec: ucsi: Introduce a ->poll_cci method

WARNING: CPU: 0 PID: 8 at drivers/usb/typec/ucsi/ucsi.c:1377 ucsi_reset_ppm+0x1af/0x1c0 [typec_ucsi]
is triggered on my laptop on roughly every system boot. When it's not,
there is a
ucsi_acpi USBC000:00: error -ETIMEDOUT: PPM init failed
message observed in the log.

I've tried the above patch "acpi: typec: ucsi: Introduce a ->poll_cci
method" but the issue is still triggered [1].

Is there any useful info/logs I can provide you for further
investigation of the warning in question?

As the warning is quite reliably triggered on my system, I may help with
the testing of other patches.

[1]:
[ 7.312044] WARNING: CPU: 5 PID: 329 at drivers/usb/typec/ucsi/ucsi.c:1377 ucsi_reset_ppm+0x1b4/0x1c0 [typec_ucsi]
[ 7.312181] CPU: 5 UID: 0 PID: 329 Comm: kworker/5:1 Not tainted 6.13.0-rc7+ #4
[ 7.312184] Hardware name: LENOVO 21D0/LNVNB161216, BIOS J6CN45WW 03/17/2023
[ 7.312186] Workqueue: events_long ucsi_init_work [typec_ucsi]
[ 7.312190] RIP: 0010:ucsi_reset_ppm+0x1b4/0x1c0 [typec_ucsi]
[ 7.312194] Code: 8b 44 24 04 a9 00 00 00 08 0f 85 36 ff ff ff 4c 89 74 24 10 48 8b 05 8b 6e 1c e0 49 39 c5 79 8f bb 92 ff ff ff e9 1b ff ff ff <0f> 0b e9 50 ff ff ff e8 80 f0 db de 90 90 90 90 90 90 90 90 90 90
[ 7.312196] RSP: 0018:ffffc0aec0d0fdc0 EFLAGS: 00010206
[ 7.312199] RAX: 0000000008000000 RBX: 0000000000000000 RCX: 000000000043c005
[ 7.312200] RDX: 00000000fffb881d RSI: ffffc0aec0d0fdc4 RDI: ffff9f6bbf3b5600
[ 7.312202] RBP: ffff9f6bbf3b5600 R08: 0000000000000000 R09: ffff9f6bc3e85360
[ 7.312203] R10: ffffc0aec0d0fc68 R11: 00000000ffffffff R12: ffffc0aec0d0fdc4
[ 7.312205] R13: 00000000fffb8817 R14: ffff9f6bbf3b5660 R15: ffff9f6bbf3b56c0
[ 7.312206] FS: 0000000000000000(0000) GS:ffff9f71e1c80000(0000) knlGS:0000000000000000
[ 7.312208] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 7.312210] CR2: 00007fbdaed6f0d8 CR3: 000000022d62c000 CR4: 0000000000f50ef0
[ 7.312211] PKRU: 55555554
[ 7.312213] Call Trace:
[ 7.312215] <TASK>
[ 7.312216] ? ucsi_reset_ppm+0x1b4/0x1c0 [typec_ucsi]
[ 7.312220] ? __warn.cold+0x93/0xfa
[ 7.312223] ? ucsi_reset_ppm+0x1b4/0x1c0 [typec_ucsi]
[ 7.312229] ? report_bug+0xff/0x140
[ 7.312234] ? handle_bug+0x58/0x90
[ 7.312237] ? exc_invalid_op+0x17/0x70
[ 7.312240] ? asm_exc_invalid_op+0x1a/0x20
[ 7.312245] ? ucsi_reset_ppm+0x1b4/0x1c0 [typec_ucsi]
[ 7.312250] ucsi_init_work+0x3c/0x9d0 [typec_ucsi]
[ 7.312254] ? srso_alias_return_thunk+0x5/0xfbef5
[ 7.312257] process_one_work+0x179/0x330
[ 7.312262] worker_thread+0x252/0x390
[ 7.312266] ? __pfx_worker_thread+0x10/0x10
[ 7.312268] kthread+0xd2/0x100
[ 7.312271] ? __pfx_kthread+0x10/0x10
[ 7.312273] ret_from_fork+0x34/0x50
[ 7.312276] ? __pfx_kthread+0x10/0x10
[ 7.312279] ret_from_fork_asm+0x1a/0x30
[ 7.312284] </TASK>
[ 7.312285] ---[ end trace 0000000000000000 ]---

--
Thanks,
Fedor