diff --git a/drivers/leds/leds-pca9633.c b/drivers/leds/leds-pca9633.c index e59ca0a1d189..7dd48f896d4e 100644 --- a/drivers/leds/leds-pca9633.c +++ b/drivers/leds/leds-pca9633.c @@ -362,10 +362,12 @@ static int pca9633_probe(struct i2c_client *client, if (pdata->leds.leds[i].default_trigger) pca9633[i].led_cdev.default_trigger = pdata->leds.leds[i].default_trigger; - } else { - snprintf(pca9633[i].name, sizeof(pca9633[i].name), - "pca9633:%d", i); } + if (!pdata || i >= pdata->leds.num_leds || + !pdata->leds.leds[i].name) + snprintf(pca9633[i].name, sizeof(pca9633[i].name), + "pca9633:%d:%.2x:%d", client->adapter->nr, + client->addr, i); pca9633[i].led_cdev.name = pca9633[i].name; pca9633[i].led_cdev.brightness_set = pca9633_led_set;