From 3feb6cd70d7d9bc0c8c971a71d771f8b1b6cc9c6 Mon Sep 17 00:00:00 2001 From: Lei Chen Date: Mon, 11 Nov 2024 19:44:33 +0800 Subject: [PATCH] bangkk:en62680 PD TEST.PD.VDM.SNK.02&05 PROPAGATED_from (CR) Fix EU common charger failed case TEST.PD.VDM.SNK.02 Exit Mode without Entering TEST.PD.VDM.SNK.05 DR Swap in Modal Operation Change-Id: If642f90442175af9d5ae4b19bb588c45bb2bca88 Signed-off-by: Lei Chen Reviewed-on: https://gerrit.mot.com/3141838 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Zonghua Liu Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key Reviewed-on: https://gerrit.mot.com/3239425 Reviewed-by: Bruno Oliveira Reviewed-by: Deise Alves Submit-Approved: Deise Alves --- drivers/usb/pd/policy_engine.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/usb/pd/policy_engine.c b/drivers/usb/pd/policy_engine.c index 6c7d90d80520..20905996216b 100644 --- a/drivers/usb/pd/policy_engine.c +++ b/drivers/usb/pd/policy_engine.c @@ -1664,11 +1664,15 @@ static void handle_vdm_rx(struct usbpd *pd, struct rx_msg *rx_msg) /* Standard Discovery or unhandled messages go here */ switch (cmd_type) { case SVDM_CMD_TYPE_INITIATOR: - { - if (!pd->has_dp || (cmd != USBPD_SVDM_ATTENTION)) { + if (cmd != USBPD_SVDM_ATTENTION) { + if(cmd == USBPD_SVDM_DISCOVER_IDENTITY) usbpd_send_svdm(pd, svid, cmd, - SVDM_CMD_TYPE_RESP_NAK, 0, NULL, 0); - return; /*NAK to dis*/ + SVDM_CMD_TYPE_RESP_NAK, 0, NULL, 0); + else if (pd->spec_rev == USBPD_REV_30) { + ret = pd_send_msg(pd, MSG_NOT_SUPPORTED, NULL, + 0, SOP_MSG); + if (ret) + usbpd_set_state(pd, PE_SEND_SOFT_RESET); } } break; @@ -1836,6 +1840,7 @@ static void handle_get_src_cap_extended(struct usbpd *pd) u8 source_inputs; u8 num_batt; u8 pdp; + u8 epr_source_pdp; } __packed caps = {0}; caps.vid = 0x22b8;