It looks like on XPS13, the UCSI notifications are broken. Attached is a ftrace log that shows what happens if I enable UCSI tracing, plug in the device, insmod ucsi_acpi, then remove the device, then plug it back in. The ACPI notification works, but after the first notification, the UCSI SET_NOTIFICATION_ENABLE command fails:
Created attachment 278265
UCSI trace
It looks like on XPS13, the UCSI notifications are broken. Attached is a ftrace log that shows what happens if I enable UCSI tracing, plug in the device, insmod ucsi_acpi, then remove the device, then plug it back in. The ACPI notification works, but after the first notification, the UCSI SET_NOTIFICATIO N_ENABLE command fails:
<disconnect>
rmmod- 5920 [001] .... 846293.522800: ucsi_command: control=00010005 (SET_NOTIFICATI ON_ENABLE) 0:1-4132 [000] .... 846293.695298: ucsi_notify: CCI=00000002 Connector Change
rmmod- 5920 [002] .... 846298.845856: ucsi_run_command: SET_NOTIFICATIO N_ENABLE -> FAIL (err=-110) 0:1-4132 [000] .... 846298.845870: ucsi_command: control=00010012 (GET_CONNECTOR_ STATUS) 0:0-31458 [000] .N.. 846299.011370: ucsi_notify: CCI=80000902 Event pending (command completed) 0:1-4132 [000] .... 846299.043161: ucsi_ack: ACK command 0:0-31458 [000] .N.. 846299.213819: ucsi_notify: CCI=20000000 ACK completed 0:1-4132 [000] .... 846299.213823: ucsi_run_command: GET_CONNECTOR_ STATUS -> OK (err=0) 0:1-4132 [000] .... 846299.213824: typec_set_pwr_role <-ucsi_ connector_ change 0:1-4132 [000] .... 846299.213824: typec_set_data_role <-ucsi_ connector_ change 0:1-4132 [000] .... 846299.213825: ucsi_ack: ACK event 0:1-4132 [000] .... 846299.239159: ucsi_connector_ change: port0 status: change=4040, opmode=1, connected=0, sourcing=0, partner_flags=0, partner_type=1, request_ data_obj= 00000000, BC status=1
kworker/
kworker/
kworker/
kworker/
kworker/
kworker/
kworker/
kworker/
kworker/
kworker/