diff mbox series

[03/11] of: address: Report of_dma_get_range() errors meaningfully

Message ID 20190927002455.13169-4-robh@kernel.org
State Accepted
Commit 76dd7068e32cec3389474d6f69ffd4d0536172da
Headers show
Series None | expand

Commit Message

Rob Herring (Arm) Sept. 27, 2019, 12:24 a.m. UTC
From: Robin Murphy <robin.murphy@arm.com>


If we failed to translate a DMA address, at least show the offending
address rather than the uninitialised contents of the destination
argument.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>

Signed-off-by: Rob Herring <robh@kernel.org>

---
 drivers/of/address.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.20.1

Comments

Geert Uytterhoeven Sept. 27, 2019, 9:15 a.m. UTC | #1
On Fri, Sep 27, 2019 at 2:25 AM Rob Herring <robh@kernel.org> wrote:
> From: Robin Murphy <robin.murphy@arm.com>

>

> If we failed to translate a DMA address, at least show the offending

> address rather than the uninitialised contents of the destination

> argument.

>

> Signed-off-by: Robin Murphy <robin.murphy@arm.com>

> Signed-off-by: Rob Herring <robh@kernel.org>


Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>


> ---

>  drivers/of/address.c | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

>

> diff --git a/drivers/of/address.c b/drivers/of/address.c

> index 8e354d12fb04..53d2656c2269 100644

> --- a/drivers/of/address.c

> +++ b/drivers/of/address.c

> @@ -955,8 +955,8 @@ int of_dma_get_range(struct device_node *np, u64 *dma_addr, u64 *paddr, u64 *siz

>         dmaaddr = of_read_number(ranges, naddr);

>         *paddr = of_translate_dma_address(np, ranges);

>         if (*paddr == OF_BAD_ADDR) {

> -               pr_err("translation of DMA address(%pad) to CPU address failed node(%pOF)\n",


Yeah, the %pad was wrong on 32-bit without CONFIG_PHYS_ADDR_T_64BIT.

> -                      dma_addr, np);

> +               pr_err("translation of DMA address(%llx) to CPU address failed node(%pOF)\n",

> +                      dmaaddr, np);

>                 ret = -EINVAL;

>                 goto out;

>         }


Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox series

Patch

diff --git a/drivers/of/address.c b/drivers/of/address.c
index 8e354d12fb04..53d2656c2269 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -955,8 +955,8 @@  int of_dma_get_range(struct device_node *np, u64 *dma_addr, u64 *paddr, u64 *siz
 	dmaaddr = of_read_number(ranges, naddr);
 	*paddr = of_translate_dma_address(np, ranges);
 	if (*paddr == OF_BAD_ADDR) {
-		pr_err("translation of DMA address(%pad) to CPU address failed node(%pOF)\n",
-		       dma_addr, np);
+		pr_err("translation of DMA address(%llx) to CPU address failed node(%pOF)\n",
+		       dmaaddr, np);
 		ret = -EINVAL;
 		goto out;
 	}