summaryrefslogtreecommitdiffstats
path: root/drivers/extcon/extcon-palmas.c
diff options
context:
space:
mode:
authorRoger Quadros <rogerq@ti.com>2016-12-08 03:45:31 -0500
committerChanwoo Choi <cw00.choi@samsung.com>2017-01-08 20:04:09 -0500
commit9fe172b9be532acc23e35ba693700383ab775e66 (patch)
tree1379a62ed222e59d512a3bc7597dba3034eebdd1 /drivers/extcon/extcon-palmas.c
parentaf57fa4de24654aa4b2ee648dcd14a3e31bce3a6 (diff)
extcon: palmas: Check the parent instance to prevent the NULL
extcon-palmas must be child of palmas and expects parent's drvdata to be valid. Check for non NULL parent drvdata and fail if it is NULL. Not doing so will result in a NULL pointer dereference later in the probe() parent drvdata is NULL (e.g. misplaced extcon-palmas node in device tree). Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Diffstat (limited to 'drivers/extcon/extcon-palmas.c')
-rw-r--r--drivers/extcon/extcon-palmas.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
index 634ba70782de..a128fd2eb187 100644
--- a/drivers/extcon/extcon-palmas.c
+++ b/drivers/extcon/extcon-palmas.c
@@ -190,6 +190,11 @@ static int palmas_usb_probe(struct platform_device *pdev)
190 struct palmas_usb *palmas_usb; 190 struct palmas_usb *palmas_usb;
191 int status; 191 int status;
192 192
193 if (!palmas) {
194 dev_err(&pdev->dev, "failed to get valid parent\n");
195 return -EINVAL;
196 }
197
193 palmas_usb = devm_kzalloc(&pdev->dev, sizeof(*palmas_usb), GFP_KERNEL); 198 palmas_usb = devm_kzalloc(&pdev->dev, sizeof(*palmas_usb), GFP_KERNEL);
194 if (!palmas_usb) 199 if (!palmas_usb)
195 return -ENOMEM; 200 return -ENOMEM;