From: Madhusudanarao Amara <[email protected]>

commit 290a405ce318d036666c4155d5899eb8cd6e0d97 upstream.

Added missing code for un-register USB role switch in the remove and
error path.

Cc: Stable <[email protected]> # v5.8
Reviewed-by: Heikki Krogerus <[email protected]>
Fixes: 6701adfa9693b ("usb: typec: driver for Intel PMC mux control")
Signed-off-by: Madhusudanarao Amara <[email protected]>
Link: 
https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/usb/typec/mux/intel_pmc_mux.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/usb/typec/mux/intel_pmc_mux.c
+++ b/drivers/usb/typec/mux/intel_pmc_mux.c
@@ -441,6 +441,7 @@ err_remove_ports:
        for (i = 0; i < pmc->num_ports; i++) {
                typec_switch_unregister(pmc->port[i].typec_sw);
                typec_mux_unregister(pmc->port[i].typec_mux);
+               usb_role_switch_unregister(pmc->port[i].usb_sw);
        }
 
        return ret;
@@ -454,6 +455,7 @@ static int pmc_usb_remove(struct platfor
        for (i = 0; i < pmc->num_ports; i++) {
                typec_switch_unregister(pmc->port[i].typec_sw);
                typec_mux_unregister(pmc->port[i].typec_mux);
+               usb_role_switch_unregister(pmc->port[i].usb_sw);
        }
 
        return 0;


Reply via email to