diff options
author | Marek BehĂșn | 2023-08-01 17:16:23 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2023-09-13 09:42:58 +0200 |
commit | f741121a2251ea09c23877388d18c3aa2189de86 (patch) | |
tree | 25e733992a9303a950dd1d3b12386936cd340d30 /drivers/leds | |
parent | a253c416e67d4de9a338c8367c69ad85bb88253c (diff) |
leds: Fix BUG_ON check for LED_COLOR_ID_MULTI that is always false
[ Upstream commit c3f853184bed04105682383c2971798c572226b5 ]
At the time we call
BUG_ON(props.color == LED_COLOR_ID_MULTI);
the props variable is still initialized to zero.
Call the BUG_ON only after we parse fwnode into props.
Fixes: 77dce3a22e89 ("leds: disallow /sys/class/leds/*:multi:* for now")
Signed-off-by: Marek BehĂșn <kabel@kernel.org>
Link: https://lore.kernel.org/r/20230801151623.30387-1-kabel@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/led-core.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c index 4a97cb745788..aad8bc44459f 100644 --- a/drivers/leds/led-core.c +++ b/drivers/leds/led-core.c @@ -419,15 +419,15 @@ int led_compose_name(struct device *dev, struct led_init_data *init_data, struct fwnode_handle *fwnode = init_data->fwnode; const char *devicename = init_data->devicename; - /* We want to label LEDs that can produce full range of colors - * as RGB, not multicolor */ - BUG_ON(props.color == LED_COLOR_ID_MULTI); - if (!led_classdev_name) return -EINVAL; led_parse_fwnode_props(dev, fwnode, &props); + /* We want to label LEDs that can produce full range of colors + * as RGB, not multicolor */ + BUG_ON(props.color == LED_COLOR_ID_MULTI); + if (props.label) { /* * If init_data.devicename is NULL, then it indicates that |