On 26.08.21 16:25, Heikki Krogerus wrote:
On Wed, Aug 25, 2021 at 08:37:14PM +0200, Ulrich Huber wrote: >> Hi, >> >> I just managed to get some more details. The bug
definitely originates from >> `ucsi_handle_connector_change`. Within
this function it is the second call >> to ucsi_send_command with
UCSI_GET_CONNECTOR_STATUS that fails (Step 4). >> >> `ucsi_send_command`
calls `ucsi_exec_command` internally, which does the >> synchronous
write and following read. Within `ucsi_exec_command` the check >> on
line 134 fails: >> >> if (cci & UCSI_CCI_COMMAND_COMPLETE) >> >> Hope
this is of some help. > Thanks for debugging this.
You are welcome!
Yeah, I think that the second GET_CONNECTOR_STATUS immediately after > the first one is confusing the firmware on some board> > I'll send
you a patch series I've been working on that tries to > improve the
situation. I better include the list as well (sending it > as RFC).
I just got around to test your patches. They seem to solve the issue
completely! Whatever I tried, the behavior of the port stayed consistent
and no error messages appeared in the log.
I'll continue using the patch for now and will notify you, should any
issue appear.
Thanks
Ulrich