Commit c3f85318 authored by Marek Behún's avatar Marek Behún Committed by Lee Jones
Browse files

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: 77dce3a2 ("leds: disallow /sys/class/leds/*:multi:* for now")
Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
Link: https://lore.kernel.org/r/20230801151623.30387-1-kabel@kernel.org


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 065d099f
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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