PCI: iproc: Fix NULL pointer dereference for BCMA
authorRay Jui <ray.jui@broadcom.com>
Thu, 11 Jan 2018 20:36:16 +0000 (12:36 -0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Fri, 12 Jan 2018 10:40:18 +0000 (10:40 +0000)
commit3b65ca50d24ce33cb92d88840e289135c92b40ed
treeb2b17d3f2c817ebcf7ac146026b27b69b61f6370
parent09b2d20349e37a03a0951ab69524b516c8f1cc5b
PCI: iproc: Fix NULL pointer dereference for BCMA

With the inbound DMA mapping supported added, the iProc PCIe driver
parses DT property "dma-ranges" through call to
"of_pci_dma_range_parser_init()". In the case of BCMA, this results in a
NULL pointer deference due to a missing of_node.

Fix this by adding a guard in pcie-iproc-platform.c to only enable the
inbound DMA mapping logic when DT property "dma-ranges" is present.

Fixes: dd9d4e7498de3 ("PCI: iproc: Add inbound DMA mapping support")
Reported-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Ray Jui <ray.jui@broadcom.com>
[lorenzo.pieralisi@arm.com: updated commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: Rafał Miłecki <rafal@milecki.pl>
cc: <stable@vger.kernel.org> # 4.10+
drivers/pci/host/pcie-iproc-platform.c
drivers/pci/host/pcie-iproc.c
drivers/pci/host/pcie-iproc.h