Hi, There is still one more thing that has to be fixed. On Wed, Oct 23, 2019 at 05:39:33PM +0300, Heikki Krogerus wrote: > static void ucsi_acpi_notify(acpi_handle handle, u32 event, void *data) > { > struct ucsi_acpi *ua = data; > + u32 cci; > + int ret; > + > + ret = ucsi_acpi_read(ua->ucsi, UCSI_CCI, &cci, sizeof(cci)); > + if (ret) { > + dev_err(ua->dev, "failed to read CCI\n"); > + return; > + } > + > + if (UCSI_CCI_CONNECTOR(cci)) > + ucsi_connector_change(ua->ucsi, UCSI_CCI_CONNECTOR(cci)); > > - ucsi_notify(ua->ucsi); > + if (test_bit(COMMAND_PENDING, &ua->flags) && > + cci & (UCSI_CCI_ACK_COMPLETE | UCSI_CCI_COMMAND_COMPLETE)) > + complete(&ua->complete); > } On some platforms the firmware leaves the old connector value to the connector change indication field of CCI. ucsi_notify() considered that by ignoring any connector change indicators that came together with command completions. I have to do the same here. I'll prepare v3. thanks, -- heikki