power: supply: axp288_fuel_gauge: Take lock before updating the valid flag
The valid flag is protected by the mutex, so code clearing it should take the mutex before cleating the valid flag. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
Родитель
05972f53a1
Коммит
30abb3d079
|
@ -476,7 +476,9 @@ static irqreturn_t fuel_gauge_thread_handler(int irq, void *dev)
|
||||||
dev_warn(info->dev, "Spurious Interrupt!!!\n");
|
dev_warn(info->dev, "Spurious Interrupt!!!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mutex_lock(&info->lock);
|
||||||
info->valid = 0; /* Force updating of the cached registers */
|
info->valid = 0; /* Force updating of the cached registers */
|
||||||
|
mutex_unlock(&info->lock);
|
||||||
|
|
||||||
power_supply_changed(info->bat);
|
power_supply_changed(info->bat);
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
@ -486,7 +488,9 @@ static void fuel_gauge_external_power_changed(struct power_supply *psy)
|
||||||
{
|
{
|
||||||
struct axp288_fg_info *info = power_supply_get_drvdata(psy);
|
struct axp288_fg_info *info = power_supply_get_drvdata(psy);
|
||||||
|
|
||||||
|
mutex_lock(&info->lock);
|
||||||
info->valid = 0; /* Force updating of the cached registers */
|
info->valid = 0; /* Force updating of the cached registers */
|
||||||
|
mutex_unlock(&info->lock);
|
||||||
power_supply_changed(info->bat);
|
power_supply_changed(info->bat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче