> -----Original Message----- > From: Peng Fan > Sent: Sunday, November 26, 2017 9:14 PM > To: hch@xxxxxx; m.szyprowski@xxxxxxxxxxx; robin.murphy@xxxxxxx; > gregkh@xxxxxxxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx; frowand.list@xxxxxxxxx > Cc: iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx; van.freenix@xxxxxxxxx; Peng Fan > <peng.fan@xxxxxxx> > 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.fan@xxxxxxx> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html