summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/charge_state_v2.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c
index ebcf8cc263..5c92ae0bf0 100644
--- a/common/charge_state_v2.c
+++ b/common/charge_state_v2.c
@@ -464,6 +464,16 @@ static void charge_allocate_input_current_limit(void)
prev_lid_system_power = -1;
prev_lid_battery_power = -1;
+ /*
+ * System is suspended/off, let the lid and base run on their
+ * own power.
+ */
+ if (chipset_in_state(CHIPSET_STATE_ANY_OFF |
+ CHIPSET_STATE_ANY_SUSPEND)) {
+ set_base_lid_current(0, 0, 0, 0);
+ return;
+ }
+
if (charge_base > db_policy.min_charge_base_otg) {
int lid_current = db_policy.max_base_to_lid_current;
int base_current = add_margin(lid_current,