In sc27xx_led_probe() there's one error branch missing mutex_destory() after mutex_init(), it seems that we should add it since other branches which follow it called mutex_destoy() before return failure. Fixes: e081c49e30ec ("leds: Add Spreadtrum SC27xx breathing light controller driver") Signed-off-by: Chunyan Zhang <chunyan.zhang@xxxxxxxxxx> --- drivers/leds/leds-sc27xx-bltc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/leds/leds-sc27xx-bltc.c b/drivers/leds/leds-sc27xx-bltc.c index e199ea15e406..122094bbf444 100644 --- a/drivers/leds/leds-sc27xx-bltc.c +++ b/drivers/leds/leds-sc27xx-bltc.c @@ -300,6 +300,7 @@ static int sc27xx_led_probe(struct platform_device *pdev) priv->base = base; priv->regmap = dev_get_regmap(dev->parent, NULL); if (!priv->regmap) { + mutex_destroy(&priv->lock); err = -ENODEV; dev_err(dev, "failed to get regmap: %d\n", err); return err; -- 2.41.0