mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
charging: avoid kernel panic
avoid NULL pointer kernel panic <1>[ 4.240233] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000488 ...... <4>[ 4.240332] Call trace: <4>[ 4.240334] _raw_spin_lock_irqsave+0x40/0x74 <4>[ 4.240337] power_supply_changed+0x24/0x6c <4>[ 4.240341] batt_external_power_changed+0x44/0x54 [mmi_discrete_charger] <4>[ 4.240344] __power_supply_changed_work+0x50/0x88 <4>[ 4.240347] class_for_each_device+0xdc/0x148 <4>[ 4.240349] power_supply_changed_work+0x60/0xcc <4>[ 4.240352] process_one_work+0x2cc/0x51c <4>[ 4.240354] worker_thread+0x278/0x4d0 <4>[ 4.240356] kthread+0x16c/0x17c <4>[ 4.240358] ret_from_fork+0x10/0x18 <0>[ 4.240362] Code: 1100054a b900192a 52800029 f9800011 <4>[ 4.240364] --[ end trace 55041178414fca52 ]-- <0>[ 4.241541] Kernel panic - not syncing: Fatal exception Change-Id: I14e651a74cb6598fb2ba9fbad44e372c18fed024 Signed-off-by: mahj8 <mahj8@motorola.com> Reviewed-on: https://gerrit.mot.com/2107613 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Lu Chai <chailu1@motorola.com> Reviewed-by: Huosheng Liao <liaohs@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
de6c28300f
commit
490f9b94e5
1 changed files with 4 additions and 2 deletions
|
|
@ -1135,7 +1135,8 @@ static void batt_external_power_changed(struct power_supply *psy)
|
|||
cancel_delayed_work(&chip->charger_work);
|
||||
schedule_delayed_work(&chip->charger_work, msecs_to_jiffies(0));
|
||||
|
||||
power_supply_changed(chip->batt_psy);
|
||||
if (chip->batt_psy)
|
||||
power_supply_changed(chip->batt_psy);
|
||||
}
|
||||
|
||||
static const struct power_supply_desc batt_psy_desc = {
|
||||
|
|
@ -2484,6 +2485,8 @@ static int mmi_discrete_probe(struct platform_device *pdev)
|
|||
else
|
||||
mmi_info(chip, "IPC logging is enabled for MMI DISCRETE\n");
|
||||
|
||||
INIT_DELAYED_WORK(&chip->charger_work, mmi_discrete_charger_work);
|
||||
|
||||
chip->batt_psy = devm_power_supply_register(chip->dev,
|
||||
&batt_psy_desc,
|
||||
&psy_cfg);
|
||||
|
|
@ -2518,7 +2521,6 @@ static int mmi_discrete_probe(struct platform_device *pdev)
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
INIT_DELAYED_WORK(&chip->charger_work, mmi_discrete_charger_work);
|
||||
mmi_discrete_charger_init(chip);
|
||||
|
||||
usb_source_change_notify_handler(&chip->master_chg_nb, 0, &chip->master_chg_dev->noti);
|
||||
|
|
|
|||
Loading…
Reference in a new issue