diff options
author | Olof Johansson <olof@lixom.net> | 2019-04-29 08:11:24 +0200 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2019-04-29 08:11:24 +0200 |
commit | 7f26bb130a9469328eff6176ca70004ead3e5eac (patch) | |
tree | acdeadf4ea655a115b9ffda0d7c5e3a13e763e29 /drivers/firmware | |
parent | Merge tag 'zynqmp-soc-for-v5.2' of https://github.com/Xilinx/linux-xlnx into ... (diff) | |
parent | firmware: arm_scmi: replace of_match_device->data with of_device_get_match_da... (diff) | |
download | linux-7f26bb130a9469328eff6176ca70004ead3e5eac.tar.xz linux-7f26bb130a9469328eff6176ca70004ead3e5eac.zip |
Merge tag 'scmi-fixes-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/drivers
ARM SCMI fixes/cleanup for v5.2
1. Fix for of_node reference leak in scmi_mailbox_check by passing
NULL argument to of_parse_phandle_with_args instead of dummy argument
2. Cleanup of_match_device->data NULL pointer handling using
of_device_get_match_data() helper
* tag 'scmi-fixes-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
firmware: arm_scmi: replace of_match_device->data with of_device_get_match_data()
firmware: arm_scmi: fix of_node leak in scmi_mailbox_check
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'drivers/firmware')
-rw-r--r-- | drivers/firmware/arm_scmi/driver.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c index 8f952f2f1a29..b5bc4c7a8fab 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -654,9 +654,7 @@ static int scmi_xfer_info_init(struct scmi_info *sinfo) static int scmi_mailbox_check(struct device_node *np) { - struct of_phandle_args arg; - - return of_parse_phandle_with_args(np, "mboxes", "#mbox-cells", 0, &arg); + return of_parse_phandle_with_args(np, "mboxes", "#mbox-cells", 0, NULL); } static int scmi_mbox_free_channel(int id, void *p, void *data) @@ -798,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) |