]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion
authorLinyu Yuan <quic_linyyuan@quicinc.com>
Tue, 26 Jul 2022 06:45:49 +0000 (14:45 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 21 Aug 2022 13:15:26 +0000 (15:15 +0200)
commit a7dc438b5e446afcd1b3b6651da28271400722f2 upstream.

We found PPM will not send any notification after it report error status
and OPM issue GET_ERROR_STATUS command to read the details about error.

According UCSI spec, PPM may clear the Error Status Data after the OPM
has acknowledged the command completion.

This change add operation to acknowledge the command completion from PPM.

Fixes: bdc62f2bae8f (usb: typec: ucsi: Simplified registration and I/O API)
Cc: <stable@vger.kernel.org> # 5.10
Signed-off-by: Jack Pham <quic_jackp@quicinc.com>
Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
Link: https://lore.kernel.org/r/1658817949-4632-1-git-send-email-quic_linyyuan@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/ucsi.c

index dfda8f5487c095e94b9b87b92132e5771c3519c7..0c16e99807365b995fede6a53148324f2f989186 100644 (file)
@@ -76,6 +76,10 @@ static int ucsi_read_error(struct ucsi *ucsi)
        if (ret)
                return ret;
 
+       ret = ucsi_acknowledge_command(ucsi);
+       if (ret)
+               return ret;
+
        switch (error) {
        case UCSI_ERROR_INCOMPATIBLE_PARTNER:
                return -EOPNOTSUPP;