Skip to content

Commit 87e552a

Browse files
Dan Carpenterlag-linaro
authored andcommitted
leds: flash: leds-qcom-flash: Test the correct variable in init
This code was passing the incorrect pointer to PTR_ERR_OR_ZERO() so it always returned success. It should have been checking the array element instead of the array itself. Fixes: 96a2e24 ("leds: flash: Add driver to support flash LED module in QCOM PMICs") Signed-off-by: Dan Carpenter <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
1 parent 4137d94 commit 87e552a

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

drivers/leds/flash/leds-qcom-flash.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,7 @@ qcom_flash_v4l2_init(struct device *dev, struct qcom_flash_led *led, struct fwno
505505
struct qcom_flash_data *flash_data = led->flash_data;
506506
struct v4l2_flash_config v4l2_cfg = { 0 };
507507
struct led_flash_setting *intensity = &v4l2_cfg.intensity;
508+
struct v4l2_flash *v4l2_flash;
508509

509510
if (!(led->flash.led_cdev.flags & LED_DEV_CAP_FLASH))
510511
return 0;
@@ -523,9 +524,12 @@ qcom_flash_v4l2_init(struct device *dev, struct qcom_flash_led *led, struct fwno
523524
LED_FAULT_OVER_TEMPERATURE |
524525
LED_FAULT_TIMEOUT;
525526

526-
flash_data->v4l2_flash[flash_data->leds_count] =
527-
v4l2_flash_init(dev, fwnode, &led->flash, &qcom_v4l2_flash_ops, &v4l2_cfg);
528-
return PTR_ERR_OR_ZERO(flash_data->v4l2_flash);
527+
v4l2_flash = v4l2_flash_init(dev, fwnode, &led->flash, &qcom_v4l2_flash_ops, &v4l2_cfg);
528+
if (IS_ERR(v4l2_flash))
529+
return PTR_ERR(v4l2_flash);
530+
531+
flash_data->v4l2_flash[flash_data->leds_count] = v4l2_flash;
532+
return 0;
529533
}
530534
# else
531535
static int

0 commit comments

Comments
 (0)