misc: apds990x: Fix missing pm_runtime_disable()
[ Upstream commit3c5d8b819d] The pm_runtime_disable() is missing in probe error path, so add it to fix it. Fixes:92b1f84d46("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:
committed by
Greg Kroah-Hartman
parent
ce833757ba
commit
ed4c8fc2e7
@@ -1147,7 +1147,7 @@ static int apds990x_probe(struct i2c_client *client)
|
||||
err = chip->pdata->setup_resources();
|
||||
if (err) {
|
||||
err = -EINVAL;
|
||||
goto fail3;
|
||||
goto fail4;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1155,7 +1155,7 @@ static int apds990x_probe(struct i2c_client *client)
|
||||
apds990x_attribute_group);
|
||||
if (err < 0) {
|
||||
dev_err(&chip->client->dev, "Sysfs registration failed\n");
|
||||
goto fail4;
|
||||
goto fail5;
|
||||
}
|
||||
|
||||
err = request_threaded_irq(client->irq, NULL,
|
||||
@@ -1166,15 +1166,17 @@ static int apds990x_probe(struct i2c_client *client)
|
||||
if (err) {
|
||||
dev_err(&client->dev, "could not get IRQ %d\n",
|
||||
client->irq);
|
||||
goto fail5;
|
||||
goto fail6;
|
||||
}
|
||||
return err;
|
||||
fail5:
|
||||
fail6:
|
||||
sysfs_remove_group(&chip->client->dev.kobj,
|
||||
&apds990x_attribute_group[0]);
|
||||
fail4:
|
||||
fail5:
|
||||
if (chip->pdata && chip->pdata->release_resources)
|
||||
chip->pdata->release_resources();
|
||||
fail4:
|
||||
pm_runtime_disable(&client->dev);
|
||||
fail3:
|
||||
regulator_bulk_disable(ARRAY_SIZE(chip->regs), chip->regs);
|
||||
fail2:
|
||||
|
||||
Reference in New Issue
Block a user