From: Baolin Wang Date: Mon, 12 Nov 2018 10:52:37 +0000 (+0800) Subject: power: supply: sc2731_charger: Avoid repeated charge/discharge X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a8aaff6be08921f1d200170ce02d36cec0e2300d;p=linux.git power: supply: sc2731_charger: Avoid repeated charge/discharge Add info->charging validation to avoid repeated charge or discharge operation. Signed-off-by: Baolin Wang Signed-off-by: Sebastian Reichel --- diff --git a/drivers/power/supply/sc2731_charger.c b/drivers/power/supply/sc2731_charger.c index a012d6c94bc31..49b3f0c902247 100644 --- a/drivers/power/supply/sc2731_charger.c +++ b/drivers/power/supply/sc2731_charger.c @@ -328,7 +328,7 @@ static void sc2731_charger_work(struct work_struct *data) mutex_lock(&info->lock); - if (info->limit > 0) { + if (info->limit > 0 && !info->charging) { /* set current limitation and start to charge */ ret = sc2731_charger_set_current_limit(info, info->limit); if (ret) @@ -343,7 +343,7 @@ static void sc2731_charger_work(struct work_struct *data) goto out; info->charging = true; - } else { + } else if (!info->limit && info->charging) { /* Stop charging */ info->charging = false; sc2731_charger_stop_charge(info);