From 25c3701a549093ae7ced49ac886ef0dec69d185e Mon Sep 17 00:00:00 2001 From: mahj8 Date: Tue, 9 Nov 2021 16:37:13 +0800 Subject: [PATCH] charging: fixed unit can't connected PC sometimes sometimes vbus_type register don't be cleared by itself when removed usb cable. So can not run charger removed code logic. Workaround DSEL 47nf Cap HW issue of Milanf on TI BQ25890 Change-Id: I354bb10f46d3ffc59b949849b1f6e43eeae1e928 Signed-off-by: mahj8 Reviewed-on: https://gerrit.mot.com/2110861 Reviewed-by: Huosheng Liao SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Submit-Approved: Jira Key --- drivers/power/bq2589x_chg_mmi/bq2589x_charger.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/power/bq2589x_chg_mmi/bq2589x_charger.c b/drivers/power/bq2589x_chg_mmi/bq2589x_charger.c index 1cba8022a58f..119039364ac1 100644 --- a/drivers/power/bq2589x_chg_mmi/bq2589x_charger.c +++ b/drivers/power/bq2589x_chg_mmi/bq2589x_charger.c @@ -2040,7 +2040,7 @@ static void bq2589x_charger_irq_workfunc(struct work_struct *work) reapsd_complete = bq2589x_is_rerun_apsd_complete(bq); } - if (((bq->vbus_type == BQ2589X_VBUS_NONE) || (bq->vbus_type == BQ2589X_VBUS_OTG)) && (bq->status & BQ2589X_STATUS_PLUGIN)) { + if (((!state.vbus_gd) || (bq->vbus_type == BQ2589X_VBUS_OTG)) && (bq->status & BQ2589X_STATUS_PLUGIN)) { dev_info(bq->dev, "%s:adapter removed\n", __func__); bq->status &= ~BQ2589X_STATUS_PLUGIN; bq2589x_adapter_out_func(bq); @@ -2094,6 +2094,7 @@ static irqreturn_t bq2589x_charger_interrupt(int irq, void *data) { struct bq2589x *bq = data; + dev_info(bq->dev, "%s", __func__); schedule_work(&bq->irq_work); return IRQ_HANDLED; }