diff options
author | Marek BehĂșn <kabel@kernel.org> | 2023-08-01 17:16:23 +0200 |
---|---|---|
committer | Lee Jones <lee@kernel.org> | 2023-08-17 12:26:36 +0200 |
commit | c3f853184bed04105682383c2971798c572226b5 (patch) | |
tree | 4b25ac7a340d31369615c5bd7e25653ce029e5a6 /drivers/leds | |
parent | leds: multicolor: Use rounded division when calculating color components (diff) | |
download | linux-c3f853184bed04105682383c2971798c572226b5.tar.xz linux-c3f853184bed04105682383c2971798c572226b5.zip |
leds: Fix BUG_ON check for LED_COLOR_ID_MULTI that is always false
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>
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 b9b1295833c9..04f9ea675f2c 100644 --- a/drivers/leds/led-core.c +++ b/drivers/leds/led-core.c @@ -474,15 +474,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 |