[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221122204837.11611-1-skhan@linuxfoundation.org>
Date: Tue, 22 Nov 2022 13:48:37 -0700
From: Shuah Khan <skhan@...uxfoundation.org>
To: pavel@....cz
Cc: Shuah Khan <skhan@...uxfoundation.org>,
patches@...nsource.cirrus.com, linux-leds@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] leds: leds-wm831x-status: init chip_pdata before access
wm831x_status_probe() accesses status from chip_pdata before
initializing it. Fix it.
Signed-off-by: Shuah Khan <skhan@...uxfoundation.org>
---
drivers/leds/leds-wm831x-status.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/leds/leds-wm831x-status.c b/drivers/leds/leds-wm831x-status.c
index c48b80574f02..5060c83f3b25 100644
--- a/drivers/leds/leds-wm831x-status.c
+++ b/drivers/leds/leds-wm831x-status.c
@@ -212,7 +212,7 @@ static int wm831x_status_probe(struct platform_device *pdev)
struct wm831x_status_pdata pdata;
struct wm831x_status *drvdata;
struct resource *res;
- int id = pdev->id % ARRAY_SIZE(chip_pdata->status);
+ int id;
int ret;
res = platform_get_resource(pdev, IORESOURCE_REG, 0);
@@ -229,9 +229,10 @@ static int wm831x_status_probe(struct platform_device *pdev)
drvdata->wm831x = wm831x;
drvdata->reg = res->start;
- if (dev_get_platdata(wm831x->dev))
+ if (dev_get_platdata(wm831x->dev)) {
chip_pdata = dev_get_platdata(wm831x->dev);
- else
+ id = pdev->id % ARRAY_SIZE(chip_pdata->status);
+ } else
chip_pdata = NULL;
memset(&pdata, 0, sizeof(pdata));
--
2.34.1
Powered by blists - more mailing lists