From 13f322e958dfa27d9cfc75431329433552fb2da6 Mon Sep 17 00:00:00 2001 From: Zheng Pan Date: Wed, 1 May 2024 15:54:56 -0700 Subject: [PATCH] Revert "FROMGIT: usb: typec: tcpm: Check for port partner validity before consuming it" This reverts commit 6657c436ed73d9e7974a2e77a5fe572e63bf353f. Revert reason: patch has mistake and need resubmit Change-Id: Ic39b13cfe9b38d7bbbad2a99fa8e3eed44e1374b Signed-off-by: Zheng Pan --- drivers/usb/typec/tcpm/tcpm.c | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c index 02af2f25fd01..b6235a78615a 100644 --- a/drivers/usb/typec/tcpm/tcpm.c +++ b/drivers/usb/typec/tcpm/tcpm.c @@ -1505,8 +1505,7 @@ static void svdm_consume_identity(struct tcpm_port *port, const u32 *p, int cnt) port->partner_ident.cert_stat = p[VDO_INDEX_CSTAT]; port->partner_ident.product = product; - if (port->partner) - typec_partner_set_identity(port->partner); + typec_partner_set_identity(port->partner); tcpm_log(port, "Identity: %04x:%04x.%04x", PD_IDH_VID(vdo), @@ -1594,9 +1593,6 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port) struct typec_altmode *altmode; int i; - if (!port->partner) - return; - for (i = 0; i < modep->altmodes; i++) { altmode = typec_partner_register_altmode(port->partner, &modep->altmode_desc[i]); @@ -3595,10 +3591,7 @@ static int tcpm_init_vconn(struct tcpm_port *port) static void tcpm_typec_connect(struct tcpm_port *port) { - struct typec_partner *partner; - if (!port->connected) { - port->connected = true; /* Make sure we don't report stale identity information */ memset(&port->partner_ident, 0, sizeof(port->partner_ident)); port->partner_desc.usb_pd = port->pd_capable; @@ -3608,13 +3601,9 @@ static void tcpm_typec_connect(struct tcpm_port *port) port->partner_desc.accessory = TYPEC_ACCESSORY_AUDIO; else port->partner_desc.accessory = TYPEC_ACCESSORY_NONE; - partner = typec_register_partner(port->typec_port, &port->partner_desc); - if (IS_ERR(partner)) { - dev_err(port->dev, "Failed to register partner (%ld)\n", PTR_ERR(partner)); - return; - } - - port->partner = partner; + port->partner = typec_register_partner(port->typec_port, + &port->partner_desc); + port->connected = true; typec_partner_set_usb_power_delivery(port->partner, port->partner_pd); } } @@ -3683,12 +3672,10 @@ out_disable_mux: static void tcpm_typec_disconnect(struct tcpm_port *port) { - if (port->partner) { - if (port->connected) { - typec_partner_set_usb_power_delivery(port->partner, NULL); - typec_unregister_partner(port->partner); - port->partner = NULL; - } + if (port->connected) { + typec_partner_set_usb_power_delivery(port->partner, NULL); + typec_unregister_partner(port->partner); + port->partner = NULL; port->connected = false; } } @@ -3904,9 +3891,6 @@ static enum typec_cc_status tcpm_pwr_opmode_to_rp(enum typec_pwr_opmode opmode) static void tcpm_set_initial_svdm_version(struct tcpm_port *port) { - if (!port->partner) - return; - switch (port->negotiated_rev) { case PD_REV30: break;