Thread (2 messages) 2 messages, 2 authors, 2013-09-18

Re: [PATCH v2] input: pxa27x_keypad: fix NULL pointer dereference

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2013-09-18 15:18:00

On Wed, Sep 18, 2013 at 08:03:44AM -0700, Mike Dunn wrote:
A NULL pointer dereference exception occurs in the driver probe function when
device tree is used.  The pdata pointer will be NULL in this case, but the code
dereferences it in all cases.  When device tree is used, a platform data
structure is allocated and initialized, and in all cases this pointer is copied
to the driver's private data, so the variable being tested should be accessed
through the driver's private data structure.

Signed-off-by: Mike Dunn <redacted>
Applied, thank you.
quoted hunk ↗ jump to hunk
---
Changelog:
v2:
Initialize pdata for DT case, instead of referencing through keypad struct.

 drivers/input/keyboard/pxa27x_keypad.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/input/keyboard/pxa27x_keypad.c b/drivers/input/keyboard/pxa27x_keypad.c
index 134c3b4..d02bdb2 100644
--- a/drivers/input/keyboard/pxa27x_keypad.c
+++ b/drivers/input/keyboard/pxa27x_keypad.c
@@ -788,8 +788,10 @@ static int pxa27x_keypad_probe(struct platform_device *pdev)
 
 	if (pdata)
 		error = pxa27x_keypad_build_keycode(keypad);
-	else
+	else {
 		error = pxa27x_keypad_build_keycode_from_dt(keypad);
+		pdata = keypad->pdata;
+	}
 	if (error) {
 		dev_err(&pdev->dev, "failed to build keycode\n");
 		goto failed_put_clk;
-- 
1.8.1.5
-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help