diff options
author | LABBE Corentin <clabbe.montjoie@gmail.com> | 2016-08-16 10:44:18 +0200 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-08-22 11:57:49 +0530 |
commit | 32e80820de5d7eb778632af8f235727a32d3aeb2 (patch) | |
tree | 14b569885077e46400a0cc1cb61798b086761db9 /drivers/dma | |
parent | 6a8b0c6b18f62a277ffb2139d0c0253fe35d7feb (diff) | |
download | linux-32e80820de5d7eb778632af8f235727a32d3aeb2.tar.bz2 |
dmaengine: img-mdc: fix a possible NULL dereference
of_match_device could return NULL, and so cause a NULL pointer
dereference later at line 850:
mdma->soc = match->data;
For fixing this problem, we use of_device_get_match_data(), this will
simplify the code a little by using a standard function for
getting the match data.
This was reported by coverity (CID 1324134)
Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/img-mdc-dma.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/dma/img-mdc-dma.c b/drivers/dma/img-mdc-dma.c index a4c53be482cf..624f1e1e9c55 100644 --- a/drivers/dma/img-mdc-dma.c +++ b/drivers/dma/img-mdc-dma.c @@ -861,7 +861,6 @@ static int mdc_dma_probe(struct platform_device *pdev) { struct mdc_dma *mdma; struct resource *res; - const struct of_device_id *match; unsigned int i; u32 val; int ret; @@ -871,8 +870,7 @@ static int mdc_dma_probe(struct platform_device *pdev) return -ENOMEM; platform_set_drvdata(pdev, mdma); - match = of_match_device(mdc_dma_of_match, &pdev->dev); - mdma->soc = match->data; + mdma->soc = of_device_get_match_data(&pdev->dev); res = platform_get_resource(pdev, IORESOURCE_MEM, 0); mdma->regs = devm_ioremap_resource(&pdev->dev, res); |