power: pm8921-charger: NULL check in 'external_power_changed' callback
The power-supply framework internally calls power_supply_changed
after registering a power-supply type. This ends up calling
'external_power_changed' callback which unconditionally
accesses 'the_chip' pointer (which gets initialized later).
Fix this by adding a NULL check.
CRs-Fixed: 466083
Change-Id: I75a58ca5ab37e44454f139a2644ab316afe3c4b8
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
diff --git a/drivers/power/pm8921-charger.c b/drivers/power/pm8921-charger.c
index 68f4bdd..5136fdf 100644
--- a/drivers/power/pm8921-charger.c
+++ b/drivers/power/pm8921-charger.c
@@ -3142,6 +3142,9 @@
static void pm_batt_external_power_changed(struct power_supply *psy)
{
+ if (!the_chip)
+ return;
+
/* Only look for an external supply if it hasn't been registered */
if (!the_chip->ext_psy)
class_for_each_device(power_supply_class, NULL, psy,