diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c index fd039db..355dc32 100644 --- a/arch/arm/common/edma.c +++ b/arch/arm/common/edma.c @@ -1588,14 +1588,14 @@ static int __init edma_probe(struct platform_device *pdev) return -ENODEV; for (j = 0; j < EDMA_MAX_CC; j++) { + if (!info[j]) { + if (found) + break; + else + return -ENODEV; + } if (node) { - int err; - err = of_address_to_resource(node, 0, &res[j]); - if (err) { - dev_err(dev, - "unable to find 'reg' property\n"); - return -EIO; - } + of_address_to_resource(node, j, &res[j]); r[j] = &res[j]; } else { @@ -1604,7 +1604,7 @@ static int __init edma_probe(struct platform_device *pdev) IORESOURCE_MEM, res_name); } - if (!r[j] || !info[j]) { + if (!r[j]) { if (found) break; else