platform/chrome: cros_ec_typec: Clear partner identity on device removal
authorPrashant Malani <pmalani@chromium.org>
Thu, 29 Oct 2020 22:27:34 +0000 (15:27 -0700)
committerEnric Balletbo i Serra <enric.balletbo@collabora.com>
Thu, 12 Nov 2020 20:32:09 +0000 (21:32 +0100)
The partner identity struct isn't reset when a partner is removed,
meaning a subsequent partner can inherit an old partner's identity VDOs
before discovery is complete. So, clear that struct when a partner
removal is detected.

Signed-off-by: Prashant Malani <pmalani@chromium.org>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Link: https://lore.kernel.org/r/20201029222738.482366-4-pmalani@chromium.org
drivers/platform/chrome/cros_ec_typec.c

index 2665d81..faef56b 100644 (file)
@@ -181,6 +181,7 @@ static void cros_typec_remove_partner(struct cros_typec_data *typec,
 
        typec_unregister_partner(port->partner);
        port->partner = NULL;
+       memset(&port->p_identity, 0, sizeof(port->p_identity));
 }
 
 static void cros_unregister_ports(struct cros_typec_data *typec)