diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/usb_charger.c | 4 |
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) \ |