mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
Revert "FROMGIT: usb: typec: tcpm: Check for port partner validity before consuming it"
This reverts commit 6657c436ed.
Revert reason: patch has mistake and need resubmit
Change-Id: Ic39b13cfe9b38d7bbbad2a99fa8e3eed44e1374b
Signed-off-by: Zheng Pan <zhengpan@google.com>
This commit is contained in:
@@ -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.cert_stat = p[VDO_INDEX_CSTAT];
|
||||||
port->partner_ident.product = product;
|
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",
|
tcpm_log(port, "Identity: %04x:%04x.%04x",
|
||||||
PD_IDH_VID(vdo),
|
PD_IDH_VID(vdo),
|
||||||
@@ -1594,9 +1593,6 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
|
|||||||
struct typec_altmode *altmode;
|
struct typec_altmode *altmode;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!port->partner)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (i = 0; i < modep->altmodes; i++) {
|
for (i = 0; i < modep->altmodes; i++) {
|
||||||
altmode = typec_partner_register_altmode(port->partner,
|
altmode = typec_partner_register_altmode(port->partner,
|
||||||
&modep->altmode_desc[i]);
|
&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)
|
static void tcpm_typec_connect(struct tcpm_port *port)
|
||||||
{
|
{
|
||||||
struct typec_partner *partner;
|
|
||||||
|
|
||||||
if (!port->connected) {
|
if (!port->connected) {
|
||||||
port->connected = true;
|
|
||||||
/* Make sure we don't report stale identity information */
|
/* Make sure we don't report stale identity information */
|
||||||
memset(&port->partner_ident, 0, sizeof(port->partner_ident));
|
memset(&port->partner_ident, 0, sizeof(port->partner_ident));
|
||||||
port->partner_desc.usb_pd = port->pd_capable;
|
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;
|
port->partner_desc.accessory = TYPEC_ACCESSORY_AUDIO;
|
||||||
else
|
else
|
||||||
port->partner_desc.accessory = TYPEC_ACCESSORY_NONE;
|
port->partner_desc.accessory = TYPEC_ACCESSORY_NONE;
|
||||||
partner = typec_register_partner(port->typec_port, &port->partner_desc);
|
port->partner = typec_register_partner(port->typec_port,
|
||||||
if (IS_ERR(partner)) {
|
&port->partner_desc);
|
||||||
dev_err(port->dev, "Failed to register partner (%ld)\n", PTR_ERR(partner));
|
port->connected = true;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
port->partner = partner;
|
|
||||||
typec_partner_set_usb_power_delivery(port->partner, port->partner_pd);
|
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)
|
static void tcpm_typec_disconnect(struct tcpm_port *port)
|
||||||
{
|
{
|
||||||
if (port->partner) {
|
if (port->connected) {
|
||||||
if (port->connected) {
|
typec_partner_set_usb_power_delivery(port->partner, NULL);
|
||||||
typec_partner_set_usb_power_delivery(port->partner, NULL);
|
typec_unregister_partner(port->partner);
|
||||||
typec_unregister_partner(port->partner);
|
port->partner = NULL;
|
||||||
port->partner = NULL;
|
|
||||||
}
|
|
||||||
port->connected = false;
|
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)
|
static void tcpm_set_initial_svdm_version(struct tcpm_port *port)
|
||||||
{
|
{
|
||||||
if (!port->partner)
|
|
||||||
return;
|
|
||||||
|
|
||||||
switch (port->negotiated_rev) {
|
switch (port->negotiated_rev) {
|
||||||
case PD_REV30:
|
case PD_REV30:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user