Comment 26 for bug 1726299

Revision history for this message
In , whitequark (whitequark-linux-kernel-bugs) wrote :

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_NOTIFICATION_ENABLE command fails:

<disconnect>
           rmmod-5920 [001] .... 846293.522800: ucsi_command: control=00010005 (SET_NOTIFICATION_ENABLE)
     kworker/0:1-4132 [000] .... 846293.695298: ucsi_notify: CCI=00000002 Connector Change
           rmmod-5920 [002] .... 846298.845856: ucsi_run_command: SET_NOTIFICATION_ENABLE -> FAIL (err=-110)
     kworker/0:1-4132 [000] .... 846298.845870: ucsi_command: control=00010012 (GET_CONNECTOR_STATUS)
     kworker/0:0-31458 [000] .N.. 846299.011370: ucsi_notify: CCI=80000902 Event pending (command completed)
     kworker/0:1-4132 [000] .... 846299.043161: ucsi_ack: ACK command
     kworker/0:0-31458 [000] .N.. 846299.213819: ucsi_notify: CCI=20000000 ACK completed
     kworker/0:1-4132 [000] .... 846299.213823: ucsi_run_command: GET_CONNECTOR_STATUS -> OK (err=0)
     kworker/0:1-4132 [000] .... 846299.213824: typec_set_pwr_role <-ucsi_connector_change
     kworker/0:1-4132 [000] .... 846299.213824: typec_set_data_role <-ucsi_connector_change
     kworker/0:1-4132 [000] .... 846299.213825: ucsi_ack: ACK event
     kworker/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