summaryrefslogtreecommitdiff
path: root/drivers/edac/synopsys_edac.c
diff options
context:
space:
mode:
authorManish Narani <manish.narani@xilinx.com>2018-10-25 09:06:56 +0300
committerBorislav Petkov <bp@suse.de>2018-11-05 15:36:20 +0300
commit84de0b493ff62993c4047dd15318cc23f83923d3 (patch)
treeae1e2faff6f3ce91a1ffce706caf6ffaf6e69c23 /drivers/edac/synopsys_edac.c
parent3d02a8975e321ef6219ec911742d741d2d73c89c (diff)
downloadlinux-84de0b493ff62993c4047dd15318cc23f83923d3.tar.xz
EDAC, synopsys: Add error handling for the of_device_get_match_data() result
The function of_device_get_match_data() can return NULL in case of error. Add error handling for the same in the mc_probe() function. Signed-off-by: Manish Narani <manish.narani@xilinx.com> Signed-off-by: Borislav Petkov <bp@suse.de> CC: Mauro Carvalho Chehab <mchehab@kernel.org> CC: Michal Simek <michal.simek@xilinx.com> CC: amit.kucheria@linaro.org CC: devicetree@vger.kernel.org CC: leoyang.li@nxp.com CC: linux-arm-kernel@lists.infradead.org CC: linux-edac <linux-edac@vger.kernel.org> CC: mark.rutland@arm.com CC: robh+dt@kernel.org CC: sudeep.holla@arm.com Link: http://lkml.kernel.org/r/1540447621-22870-2-git-send-email-manish.narani@xilinx.com
Diffstat (limited to 'drivers/edac/synopsys_edac.c')
-rw-r--r--drivers/edac/synopsys_edac.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/edac/synopsys_edac.c b/drivers/edac/synopsys_edac.c
index 1c3795dd7b82..0005ef387af6 100644
--- a/drivers/edac/synopsys_edac.c
+++ b/drivers/edac/synopsys_edac.c
@@ -477,6 +477,9 @@ static int mc_probe(struct platform_device *pdev)
return PTR_ERR(baseaddr);
p_data = of_device_get_match_data(&pdev->dev);
+ if (!p_data)
+ return -ENODEV;
+
if (!p_data->get_ecc_state(baseaddr)) {
edac_printk(KERN_INFO, EDAC_MC, "ECC not enabled\n");
return -ENXIO;