| From 8a755d75c91611a5a873bb7bc40164946a5c5024 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 16 Mar 2024 12:45:27 +0300 |
| Subject: backlight: mp3309c: Fix signedness bug in mp3309c_parse_fwnode() |
| |
| From: Dan Carpenter <dan.carpenter@linaro.org> |
| |
| [ Upstream commit e962f13b1e86272a5dcdaede2dfb649152e981e9 ] |
| |
| The "num_levels" variable is used to store error codes from |
| device_property_count_u32() so it needs to be signed. This doesn't |
| cause an issue at runtime because devm_kcalloc() won't allocate negative |
| sizes. However, it's still worth fixing. |
| |
| Fixes: b54c828bdba9 ("backlight: mp3309c: Make use of device properties") |
| Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> |
| Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> |
| Tested-by: Flavio Suligoi <f.suligoi@asem.it> |
| Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| Link: https://lore.kernel.org/r/74347f67-360d-4513-8939-595e3c4764fa@moroto.mountain |
| Signed-off-by: Lee Jones <lee@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/video/backlight/mp3309c.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/video/backlight/mp3309c.c b/drivers/video/backlight/mp3309c.c |
| index c80a1481e742b..4e98e60417d23 100644 |
| --- a/drivers/video/backlight/mp3309c.c |
| +++ b/drivers/video/backlight/mp3309c.c |
| @@ -205,8 +205,9 @@ static int mp3309c_parse_fwnode(struct mp3309c_chip *chip, |
| struct mp3309c_platform_data *pdata) |
| { |
| int ret, i; |
| - unsigned int num_levels, tmp_value; |
| + unsigned int tmp_value; |
| struct device *dev = chip->dev; |
| + int num_levels; |
| |
| if (!dev_fwnode(dev)) |
| return dev_err_probe(dev, -ENODEV, "failed to get firmware node\n"); |
| -- |
| 2.43.0 |
| |