misc: apds990x: Fix missing pm_runtime_disable()
[ Upstream commit 3c5d8b819d27012264edd17e6ae7fffda382fe44 ] The pm_runtime_disable() is missing in probe error path, so add it to fix it. Fixes: 92b1f84d46b2 ("drivers/misc: driver for APDS990X ALS and proximity sensors") Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Link: https://lore.kernel.org/r/20240923035556.3009105-1-ruanjinjie@huawei.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
366f1818f3
commit
0b2467e708
1 changed files with 7 additions and 5 deletions
|
@ -1148,7 +1148,7 @@ static int apds990x_probe(struct i2c_client *client,
|
||||||
err = chip->pdata->setup_resources();
|
err = chip->pdata->setup_resources();
|
||||||
if (err) {
|
if (err) {
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
goto fail3;
|
goto fail4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1156,7 +1156,7 @@ static int apds990x_probe(struct i2c_client *client,
|
||||||
apds990x_attribute_group);
|
apds990x_attribute_group);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
dev_err(&chip->client->dev, "Sysfs registration failed\n");
|
dev_err(&chip->client->dev, "Sysfs registration failed\n");
|
||||||
goto fail4;
|
goto fail5;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = request_threaded_irq(client->irq, NULL,
|
err = request_threaded_irq(client->irq, NULL,
|
||||||
|
@ -1167,15 +1167,17 @@ static int apds990x_probe(struct i2c_client *client,
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(&client->dev, "could not get IRQ %d\n",
|
dev_err(&client->dev, "could not get IRQ %d\n",
|
||||||
client->irq);
|
client->irq);
|
||||||
goto fail5;
|
goto fail6;
|
||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
fail5:
|
fail6:
|
||||||
sysfs_remove_group(&chip->client->dev.kobj,
|
sysfs_remove_group(&chip->client->dev.kobj,
|
||||||
&apds990x_attribute_group[0]);
|
&apds990x_attribute_group[0]);
|
||||||
fail4:
|
fail5:
|
||||||
if (chip->pdata && chip->pdata->release_resources)
|
if (chip->pdata && chip->pdata->release_resources)
|
||||||
chip->pdata->release_resources();
|
chip->pdata->release_resources();
|
||||||
|
fail4:
|
||||||
|
pm_runtime_disable(&client->dev);
|
||||||
fail3:
|
fail3:
|
||||||
regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
|
regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
|
||||||
fail2:
|
fail2:
|
||||||
|
|
Loading…
Add table
Reference in a new issue