The driver allocates the mutex but not initialize it. Use mutex_init() on it to initialize it correctly. Fixes: ed229454856e ("power: supply: axp288-charger: Optimize register reading method") Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx> --- drivers/power/supply/axp288_charger.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/power/supply/axp288_charger.c b/drivers/power/supply/axp288_charger.c index fd4983c98fd9..9987b1731e38 100644 --- a/drivers/power/supply/axp288_charger.c +++ b/drivers/power/supply/axp288_charger.c @@ -865,6 +865,7 @@ static int axp288_charger_probe(struct platform_device *pdev) if (!info) return -ENOMEM; + mutex_init(&info->lock); info->pdev = pdev; info->regmap = axp20x->regmap; info->regmap_irqc = axp20x->regmap_irqc;