diff options
author | Aditya Pakki <pakki001@umn.edu> | 2019-03-22 22:55:03 +0100 |
---|---|---|
committer | Sudeep Holla <sudeep.holla@arm.com> | 2019-04-12 19:11:18 +0200 |
commit | d9350f21e5fe2614e1f78ef20c3a3e83c4a36391 (patch) | |
tree | a21c7a50b04dfbdf7251c1950cb62d1ed364aa77 /drivers/firmware | |
parent | firmware: arm_scmi: fix of_node leak in scmi_mailbox_check (diff) | |
download | linux-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.c | 4 |
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) |