From adb1f241f3a579c4041f56833d4761c08552f38a Mon Sep 17 00:00:00 2001 From: Frank Wang Date: Wed, 15 Mar 2023 11:08:16 +0800 Subject: [PATCH] usb: typec: tcpm: fix getting pd_revision Move up getting pd_revision in case it would be skipped while power-role is configured as source. Fixes: 765b15bf7940 ("usb: typec: tcpm: amend pd negotiated revision") Signed-off-by: Frank Wang Change-Id: I63d06d622cc00db6bacb301f6e61aba0a36cd854 --- drivers/usb/typec/tcpm/tcpm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c index 788eb05a193c..a088c6e91e37 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c @@ -6059,6 +6059,13 @@ static int tcpm_fw_get_caps(struct tcpm_port *port, if (!fwnode) return -EINVAL; + ret = fwnode_property_read_u32(fwnode, "pd-revision", + &pd_revision); + if (ret < 0) + port->typec_caps.pd_revision = 0x0300; + else + port->typec_caps.pd_revision = pd_revision & 0xffff; + /* USB data support is optional */ ret = fwnode_property_read_string(fwnode, "data-role", &cap_str); if (ret == 0) { @@ -6162,13 +6169,6 @@ static int tcpm_fw_get_caps(struct tcpm_port *port, return ret; } - ret = fwnode_property_read_u32(fwnode, "pd-revision", - &pd_revision); - if (ret < 0) - port->typec_caps.pd_revision = 0x0300; - else - port->typec_caps.pd_revision = pd_revision & 0xffff; - return 0; }