From: Rupesh Kumar <rupesh.ku...@stericsson.com>

Quick re-attach charging behaviour is not required
for external ac charger. Internal AC/USB Charger removal
detection problem is due to a bug in AB8500 ASICs.

Signed-off-by: Rupesh Kumar <rupesh.ku...@stericsson.com>
Signed-off-by: Mathieu Poirier <mathieu.poir...@linaro.org>
Reviewed-by: Hakan BERG <hakan.b...@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langl...@stericsson.com>
---
 drivers/power/abx500_chargalg.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/power/abx500_chargalg.c b/drivers/power/abx500_chargalg.c
index 180deab..ce58f20 100644
--- a/drivers/power/abx500_chargalg.c
+++ b/drivers/power/abx500_chargalg.c
@@ -330,12 +330,13 @@ static int abx500_chargalg_check_charger_enable(struct 
abx500_chargalg *di)
                return di->usb_chg->ops.check_enable(di->usb_chg,
                        di->bat->bat_type[di->bat->batt_id].normal_vol_lvl,
                        di->bat->bat_type[di->bat->batt_id].normal_cur_lvl);
-       } else if (di->chg_info.charger_type & AC_CHG) {
+       } else if ((di->chg_info.charger_type & AC_CHG) &&
+                                       !(di->ac_chg->external)) {
                return di->ac_chg->ops.check_enable(di->ac_chg,
                        di->bat->bat_type[di->bat->batt_id].normal_vol_lvl,
                        di->bat->bat_type[di->bat->batt_id].normal_cur_lvl);
        }
-       return -ENXIO;
+       return 0;
 }
 
 /**
-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to