> -----Original Message----- > From: Peng Fan > Sent: Sunday, November 26, 2017 9:14 PM > To: h...@lst.de; m.szyprow...@samsung.com; robin.mur...@arm.com; > gre...@linuxfoundation.org; robh...@kernel.org; frowand.l...@gmail.com > Cc: io...@lists.linux-foundation.org; linux-kernel@vger.kernel.org; > devicet...@vger.kernel.org; van.free...@gmail.com; Peng Fan > <peng....@nxp.com> > Subject: [RFC 1/2] of: reserved_mem: check return value of_dma_configure > > In commit <7b07cbefb6>("iommu: of: Handle IOMMU lookup failure with > deferred probing or error"), there is possibility that of_dma_configure may > fail. > So in of_reserved_mem_device_init_by_idx, > also need to propagate the return value of_dma_configure to caller, when > need to use reserved memory for a device which needs iommu.
Seems my understanding is wrong, with iommu enabled, reserved memory will not be used for devices with memory-region. Please still help review RFC 2/2. Thanks, Peng. > > Signed-off-by: Peng Fan <peng....@nxp.com> > --- > drivers/of/of_reserved_mem.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c > index 22b75c82e377..61523819b50e 100644 > --- a/drivers/of/of_reserved_mem.c > +++ b/drivers/of/of_reserved_mem.c > @@ -357,9 +357,12 @@ int of_reserved_mem_device_init_by_idx(struct > device *dev, > /* ensure that dma_ops is set for virtual devices > * using reserved memory > */ > - of_dma_configure(dev, np); > - > - dev_info(dev, "assigned reserved memory node %s\n", rmem- > >name); > + ret = of_dma_configure(dev, np); > + if (ret) > + of_reserved_mem_device_release(dev); > + else > + dev_info(dev, "assigned reserved memory node %s\n", > + rmem->name); > } else { > kfree(rd); > } > -- > 2.14.1