MLK-16013-23 staging: typec: tcpm: Do soft reset for unexpected get sink cap
authorLi Jun <jun.li@nxp.com>
Thu, 27 Jul 2017 14:24:13 +0000 (22:24 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:36:20 +0000 (15:36 -0500)
A source or sink should receive the get_sink_cap message when in SRC_RDY or
SNK_RDY, if the port receives a get sink capability request before ready,
which means there is message sync error, we should do soft reset to recover
from it, instead of sending a reject message.

Reviewed-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
drivers/staging/typec/tcpm.c

index e56adda..b0abe97 100644 (file)
@@ -1343,7 +1343,7 @@ static void tcpm_pd_ctrl_request(struct tcpm_port *port,
                        tcpm_queue_message(port, PD_MSG_DATA_SINK_CAP);
                        break;
                default:
-                       tcpm_queue_message(port, PD_MSG_CTRL_REJECT);
+                       tcpm_set_state(port, SOFT_RESET_SEND, 0);
                        break;
                }
                break;