diff --git a/patch/kernel/archive/rockchip64-6.6/board-pbp-add-dp-alt-mode.patch b/patch/kernel/archive/rockchip64-6.6/board-pbp-add-dp-alt-mode.patch index 0591ff07a..3753d9952 100644 --- a/patch/kernel/archive/rockchip64-6.6/board-pbp-add-dp-alt-mode.patch +++ b/patch/kernel/archive/rockchip64-6.6/board-pbp-add-dp-alt-mode.patch @@ -274,14 +274,16 @@ index d962f67c95ae..5ac809870867 100644 tcpm_register_partner_altmodes(port); } break; -@@ -3650,6 +3692,7 @@ static int tcpm_src_attach(struct tcpm_port *port) +@@ -3650,8 +3692,9 @@ static int tcpm_src_attach(struct tcpm_port *port) static void tcpm_typec_disconnect(struct tcpm_port *port) { if (port->connected) { -+ tcpm_update_extcon_data(port, false); - typec_partner_set_usb_power_delivery(port->partner, NULL); - typec_unregister_partner(port->partner); - port->partner = NULL; + if (port->partner) { ++ tcpm_update_extcon_data(port, false); + typec_partner_set_usb_power_delivery(port->partner, NULL); + typec_unregister_partner(port->partner); + port->partner = NULL; + } @@ -3739,6 +3782,8 @@ static void tcpm_detach(struct tcpm_port *port) } diff --git a/patch/kernel/archive/rockchip64-6.8/board-pbp-add-dp-alt-mode.patch b/patch/kernel/archive/rockchip64-6.8/board-pbp-add-dp-alt-mode.patch index ce577f298..2b576b0a0 100644 --- a/patch/kernel/archive/rockchip64-6.8/board-pbp-add-dp-alt-mode.patch +++ b/patch/kernel/archive/rockchip64-6.8/board-pbp-add-dp-alt-mode.patch @@ -274,14 +274,16 @@ index d962f67c95ae..5ac809870867 100644 tcpm_register_partner_altmodes(port); } break; -@@ -3650,6 +3692,7 @@ static int tcpm_src_attach(struct tcpm_port *port) +@@ -3650,8 +3692,9 @@ static int tcpm_src_attach(struct tcpm_port *port) static void tcpm_typec_disconnect(struct tcpm_port *port) { if (port->connected) { -+ tcpm_update_extcon_data(port, false); - typec_partner_set_usb_power_delivery(port->partner, NULL); - typec_unregister_partner(port->partner); - port->partner = NULL; + if (port->partner) { ++ tcpm_update_extcon_data(port, false); + typec_partner_set_usb_power_delivery(port->partner, NULL); + typec_unregister_partner(port->partner); + port->partner = NULL; + } @@ -3739,6 +3782,8 @@ static void tcpm_detach(struct tcpm_port *port) }