platform/chrome: cros_ec_typec: Decouple partner removal
authorPrashant Malani <pmalani@chromium.org>
Tue, 2 Feb 2021 22:40:01 +0000 (14:40 -0800)
committerBenson Leung <bleung@chromium.org>
Tue, 2 Feb 2021 23:00:45 +0000 (15:00 -0800)
Currently, we return if there is no partner present when
!PD_CTRL_RESP_ENABLED_CONNECTED, without proceeding further. This ties
partner removal to cable removal, whereas the two should be independent.

Update the check to remove a partner if one was registered, but continue
after that instead of returning.

Signed-off-by: Prashant Malani <pmalani@chromium.org>
Link: https://lore.kernel.org/r/20210202224001.3810274-1-pmalani@chromium.org
Signed-off-by: Benson Leung <bleung@chromium.org>
drivers/platform/chrome/cros_ec_typec.c

index e724a5e..91b8fc1 100644 (file)
@@ -638,9 +638,8 @@ static void cros_typec_set_port_params_v1(struct cros_typec_data *typec,
                                 "Failed to register partner on port: %d\n",
                                 port_num);
        } else {
-               if (!typec->ports[port_num]->partner)
-                       return;
-               cros_typec_remove_partner(typec, port_num);
+               if (typec->ports[port_num]->partner)
+                       cros_typec_remove_partner(typec, port_num);
 
                if (typec->ports[port_num]->cable)
                        cros_typec_remove_cable(typec, port_num);