summaryrefslogtreecommitdiffstats
path: root/drivers/firmware
diff options
context:
space:
mode:
authorAditya Pakki <pakki001@umn.edu>2019-03-22 22:55:03 +0100
committerSudeep Holla <sudeep.holla@arm.com>2019-04-12 19:11:18 +0200
commitd9350f21e5fe2614e1f78ef20c3a3e83c4a36391 (patch)
treea21c7a50b04dfbdf7251c1950cb62d1ed364aa77 /drivers/firmware
parentfirmware: arm_scmi: fix of_node leak in scmi_mailbox_check (diff)
downloadlinux-d9350f21e5fe2614e1f78ef20c3a3e83c4a36391.tar.xz
linux-d9350f21e5fe2614e1f78ef20c3a3e83c4a36391.zip
firmware: arm_scmi: replace of_match_device->data with of_device_get_match_data()
of_match_device can return NULL if no matching device is found though it's highly unlikely to happen in scmi_probe as it's called only if a valid match is found. However we can use of_device_get_match_data() instead of of_match_device()->data to handle NULL pointer checks and return -EINVAL in such a scenario. Reviewed-by: Steven Price <steven.price@arm.com> Signed-off-by: Aditya Pakki <pakki001@umn.edu> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Diffstat (limited to 'drivers/firmware')
-rw-r--r--drivers/firmware/arm_scmi/driver.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c
index dd967d675c08..b5bc4c7a8fab 100644
--- a/drivers/firmware/arm_scmi/driver.c
+++ b/drivers/firmware/arm_scmi/driver.c
@@ -796,7 +796,9 @@ static int scmi_probe(struct platform_device *pdev)
return -EINVAL;
}
- desc = of_match_device(scmi_of_match, dev)->data;
+ desc = of_device_get_match_data(dev);
+ if (!desc)
+ return -EINVAL;
info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
if (!info)