summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/usb_charger.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/common/usb_charger.c b/common/usb_charger.c
index 5b14608021..40f71062b4 100644
--- a/common/usb_charger.c
+++ b/common/usb_charger.c
@@ -73,6 +73,10 @@ void usb_charger_vbus_change(int port, int vbus_level)
#ifdef HAS_TASK_USB_CHG_P0
/* USB Charger task(s) */
task_set_event(USB_CHG_PORT_TO_TASK_ID(port), USB_CHG_EVENT_VBUS);
+
+ /* If we swapped to sourcing, drop any related charge suppliers */
+ if (usb_charger_port_is_sourcing_vbus(port))
+ usb_charger_reset_charge(port);
#endif
#if (defined(CONFIG_USB_PD_VBUS_DETECT_CHARGER) \