Skip to contentSkip to conversation

leds: an30259a: add a check for devm_regmap_init_i2c

PATCH Superseded Chuhong Yuan 2 participants 2 messages Oct 16, 2019 LED

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 leds: an30259a: add a check for devm_regmap_init_i2c

an30259a_probe misses a check for devm_regmap_init_i2c and may cause problems.
Add a check and print errors like other leds drivers.

---
 drivers/leds/leds-an30259a.c | 7 +++++++
 1 file changed, 7 insertions(+)
drivers/leds/leds-an30259a.c +7 -0
index 250dc9d6f635..03ad068f29f7 100644
@@ -305,6 +305,13 @@ static int an30259a_probe(struct i2c_client *client)
 
 	chip->regmap = devm_regmap_init_i2c(client, &an30259a_regmap_config);
 
+	if (IS_ERR(chip->regmap)) {
+		err = PTR_ERR(chip->regmap);
+		dev_err(&client->dev, "Failed to allocate register map: %d\n",
+			err);
+		return err;
+	}
+
 	for (i = 0; i < chip->num_leds; i++) {
 		struct led_init_data init_data = {};
 
Signature · 1 line
2.20.1
#1 lore raw

Chuhong

Quoted 14 lines · Chuhong Yuan

an30259a_probe misses a check for devm_regmap_init_i2c and may cause problems.
Add a check and print errors like other leds drivers.

---
  drivers/leds/leds-an30259a.c | 7 +++++++
  1 file changed, 7 insertions(+)
drivers/leds/leds-an30259a.c +0 -0
index 250dc9d6f635..03ad068f29f7 100644

drivers/leds/leds-an30259a.c static int an30259a_probe(struct i2c_client *client) · line 312

Quoted 8 lines
drivers/leds/leds-an30259a.c +5 -0
@@ -305,6 +305,13 @@ static int an30259a_probe(struct i2c_client *client)
 
  	chip->regmap = devm_regmap_init_i2c(client, &an30259a_regmap_config);
 
+	if (IS_ERR(chip->regmap)) {
+		err = PTR_ERR(chip->regmap);
+		dev_err(&client->dev, "Failed to allocate register map: %d\n",
+			err);
+		return err;

This should goto exit as the mutex is created before this allocation on ln 302

Dan