drivers/leds/leds-max8997.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
The driver works just fine if no platform data is supplied.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
v2: Add Andy's reviewed-by and reword the commit description.
drivers/leds/leds-max8997.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/leds/leds-max8997.c b/drivers/leds/leds-max8997.c
index c0bddb33888d..c8d7f55c9dec 100644
--- a/drivers/leds/leds-max8997.c
+++ b/drivers/leds/leds-max8997.c
@@ -238,11 +238,6 @@ static int max8997_led_probe(struct platform_device *pdev)
char name[20];
int ret = 0;
- if (pdata == NULL) {
- dev_err(&pdev->dev, "no platform data\n");
- return -ENODEV;
- }
-
led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL);
if (led == NULL)
return -ENOMEM;
@@ -258,7 +253,7 @@ static int max8997_led_probe(struct platform_device *pdev)
led->iodev = iodev;
/* initialize mode and brightness according to platform_data */
- if (pdata->led_pdata) {
+ if (pdata && pdata->led_pdata) {
u8 mode = 0, brightness = 0;
mode = pdata->led_pdata->mode[led->id];
--
2.35.1
On Thu 2022-10-20 12:44:42, Paul Cercueil wrote:
> The driver works just fine if no platform data is supplied.
>
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Does it? Bad Paul, bad Andy.
> +++ b/drivers/leds/leds-max8997.c
> @@ -238,11 +238,6 @@ static int max8997_led_probe(struct platform_device *pdev)
> char name[20];
> int ret = 0;
>
> - if (pdata == NULL) {
> - dev_err(&pdev->dev, "no platform data\n");
> - return -ENODEV;
> - }
> -
> led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL);
> if (led == NULL)
> return -ENOMEM;
> @@ -258,7 +253,7 @@ static int max8997_led_probe(struct platform_device *pdev)
> led->iodev = iodev;
>
> /* initialize mode and brightness according to platform_data */
> - if (pdata->led_pdata) {
> + if (pdata && pdata->led_pdata) {
> u8 mode = 0, brightness = 0;
>
> mode = pdata->led_pdata->mode[led->id];
I see pdata being dereferenced here.
Pavel
--
People of Russia, stop Putin before his war on Ukraine escalates.
Le ven. 21 oct. 2022 à 15:11:45 +0200, Pavel Machek <pavel@ucw.cz> a
écrit :
> On Thu 2022-10-20 12:44:42, Paul Cercueil wrote:
>> The driver works just fine if no platform data is supplied.
>>
>> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
>
> Does it? Bad Paul, bad Andy.
Yes, it does.
>> +++ b/drivers/leds/leds-max8997.c
>> @@ -238,11 +238,6 @@ static int max8997_led_probe(struct
>> platform_device *pdev)
>> char name[20];
>> int ret = 0;
>>
>> - if (pdata == NULL) {
>> - dev_err(&pdev->dev, "no platform data\n");
>> - return -ENODEV;
>> - }
>> -
>> led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL);
>> if (led == NULL)
>> return -ENOMEM;
>> @@ -258,7 +253,7 @@ static int max8997_led_probe(struct
>> platform_device *pdev)
>> led->iodev = iodev;
>>
>> /* initialize mode and brightness according to platform_data */
>> - if (pdata->led_pdata) {
>> + if (pdata && pdata->led_pdata) {
>> u8 mode = 0, brightness = 0;
>>
>> mode = pdata->led_pdata->mode[led->id];
>
> I see pdata being dereferenced here.
Oh really. Look again.
-Paul
Hi! > > > The driver works just fine if no platform data is supplied. > > > > > > Signed-off-by: Paul Cercueil <paul@crapouillou.net> > > > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > > > > Does it? Bad Paul, bad Andy. > > Yes, it does. Sorry, I misread the patch. Applied now. Best regards, Pavel -- People of Russia, stop Putin before his war on Ukraine escalates.
© 2016 - 2026 Red Hat, Inc.