On 03/05/2013 03:25 AM, Padmavathi Venna wrote: > This patch returns error when 'dma-cells' property not found > in the corresponding device node. With out this change there > is a crash in the generic dma incompatible platforms. > > Signed-off-by: Padmavathi Venna <padma.v@xxxxxxxxxxx> NAK. #dma-cells should be optional. It is not needed for platforms supporting memory to memory transfers only and should therefore be optional. You cannot assume the dtb can be updated and kernel changes need to work with old dtbs. I've submitted patches to address this and fix the crash: https://lists.ozlabs.org/pipermail/devicetree-discuss/2013-February/028769.html Rob > --- > > Based on Vinod Koul next branch. > > drivers/dma/of-dma.c | 8 +++++++- > 1 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/drivers/dma/of-dma.c b/drivers/dma/of-dma.c > index 69d04d2..46aca0d 100644 > --- a/drivers/dma/of-dma.c > +++ b/drivers/dma/of-dma.c > @@ -92,6 +92,7 @@ int of_dma_controller_register(struct device_node *np, > void *data) > { > struct of_dma *ofdma; > + const __be32 *ip; > int nbcells; > > if (!np || !of_dma_xlate) { > @@ -103,7 +104,12 @@ int of_dma_controller_register(struct device_node *np, > if (!ofdma) > return -ENOMEM; > > - nbcells = be32_to_cpup(of_get_property(np, "#dma-cells", NULL)); > + ip = of_get_property(np, "#dma-cells", NULL); > + if (!ip) > + return -ENXIO; > + > + nbcells = be32_to_cpup(ip); > + > if (!nbcells) { > pr_err("%s: #dma-cells property is missing or invalid\n", > __func__); > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html