Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1286596 > unrolled thread

[PATCH] dmaengine: at_hdmac: fix dma_addr_t printing

Started byArnd Bergmann <arnd@arndb.de>
First post2015-12-08 16:40 +0100
Last post2015-12-08 17:20 +0100
Articles 4 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] dmaengine: at_hdmac: fix dma_addr_t printing Arnd Bergmann <arnd@arndb.de> - 2015-12-08 16:40 +0100
    Re: [PATCH] dmaengine: at_hdmac: fix dma_addr_t printing Nicolas Ferre <nicolas.ferre@atmel.com> - 2015-12-08 17:10 +0100
      Re: [PATCH] dmaengine: at_hdmac: fix dma_addr_t printing Dmitry Krivenok <krivenok.dmitry@gmail.com> - 2015-12-08 17:30 +0100
    Re: [PATCH] dmaengine: at_hdmac: fix dma_addr_t printing Vinod Koul <vinod.koul@intel.com> - 2015-12-08 17:20 +0100

#1286596 — [PATCH] dmaengine: at_hdmac: fix dma_addr_t printing

FromArnd Bergmann <arnd@arndb.de>
Date2015-12-08 16:40 +0100
Subject[PATCH] dmaengine: at_hdmac: fix dma_addr_t printing
Message-ID<qDswV-48l-13@gated-at.bofh.it>
A recent patch tried to improve the printk output of the atc_dump_lli()
function but introduced a bug, in which we end up dereferencing a
dma address as a pointer, and we even get a warning for it:

drivers/dma/at_hdmac_regs.h: In function 'atc_dump_lli':
drivers/dma/at_hdmac_regs.h:388:4: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]

This changes the code to pass the DMA address by reference, as expected
by printk.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 096117032a36 ("dmaengine: do not use 0x in front of %pad")
---
 drivers/dma/at_hdmac_regs.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/at_hdmac_regs.h b/drivers/dma/at_hdmac_regs.h
index 610907dbc11a..0474e4a0f02a 100644
--- a/drivers/dma/at_hdmac_regs.h
+++ b/drivers/dma/at_hdmac_regs.h
@@ -386,8 +386,8 @@ static void atc_dump_lli(struct at_dma_chan *atchan, struct at_lli *lli)
 {
 	dev_crit(chan2dev(&atchan->chan_common),
 		 "  desc: s%pad d%pad ctrl0x%x:0x%x l%pad\n",
-		 lli->saddr, lli->daddr,
-		 lli->ctrla, lli->ctrlb, lli->dscr);
+		 &lli->saddr, &lli->daddr,
+		 lli->ctrla, lli->ctrlb, &lli->dscr);
 }
 
 
-- 
2.1.0.rc2


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1286629

FromNicolas Ferre <nicolas.ferre@atmel.com>
Date2015-12-08 17:10 +0100
Message-ID<qDsZY-4yl-11@gated-at.bofh.it>
In reply to#1286596
Le 08/12/2015 16:34, Arnd Bergmann a écrit :
> A recent patch tried to improve the printk output of the atc_dump_lli()
> function but introduced a bug, in which we end up dereferencing a
> dma address as a pointer, and we even get a warning for it:
> 
> drivers/dma/at_hdmac_regs.h: In function 'atc_dump_lli':
> drivers/dma/at_hdmac_regs.h:388:4: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
> 
> This changes the code to pass the DMA address by reference, as expected
> by printk.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 096117032a36 ("dmaengine: do not use 0x in front of %pad")

Yep, thanks Arnd!

Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>

> ---
>  drivers/dma/at_hdmac_regs.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/dma/at_hdmac_regs.h b/drivers/dma/at_hdmac_regs.h
> index 610907dbc11a..0474e4a0f02a 100644
> --- a/drivers/dma/at_hdmac_regs.h
> +++ b/drivers/dma/at_hdmac_regs.h
> @@ -386,8 +386,8 @@ static void atc_dump_lli(struct at_dma_chan *atchan, struct at_lli *lli)
>  {
>  	dev_crit(chan2dev(&atchan->chan_common),
>  		 "  desc: s%pad d%pad ctrl0x%x:0x%x l%pad\n",
> -		 lli->saddr, lli->daddr,
> -		 lli->ctrla, lli->ctrlb, lli->dscr);
> +		 &lli->saddr, &lli->daddr,
> +		 lli->ctrla, lli->ctrlb, &lli->dscr);
>  }
>  
>  
> 


-- 
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286649

FromDmitry Krivenok <krivenok.dmitry@gmail.com>
Date2015-12-08 17:30 +0100
Message-ID<qDtjj-4FX-3@gated-at.bofh.it>
In reply to#1286629
>> A recent patch tried to improve the printk output of the atc_dump_lli()
>> function but introduced a bug

BTW, my original patch was created for mainline and was incorrectly
applied to slave-dma.git for-linus branch (I sent Vinod an email about
that).
In that branch the code was already changed so that my patch didn't
make sense there.
Now you seem to revert the change that was originally made instead of
revering my 1 line change:) Is that intentional?

Thanks,
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286641

FromVinod Koul <vinod.koul@intel.com>
Date2015-12-08 17:20 +0100
Message-ID<qDt9D-4CC-9@gated-at.bofh.it>
In reply to#1286596
On Tue, Dec 08, 2015 at 04:34:28PM +0100, Arnd Bergmann wrote:
> A recent patch tried to improve the printk output of the atc_dump_lli()
> function but introduced a bug, in which we end up dereferencing a
> dma address as a pointer, and we even get a warning for it:
> 
> drivers/dma/at_hdmac_regs.h: In function 'atc_dump_lli':
> drivers/dma/at_hdmac_regs.h:388:4: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]
> 
> This changes the code to pass the DMA address by reference, as expected
> by printk.

Thanks for this but i was planning to drop 096117032a36 "dmaengine: do not
use 0x in front of %pad" as recomended by Dmitry, so we should fix this
cleanly

I will push out updated tree in a short while...

> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 096117032a36 ("dmaengine: do not use 0x in front of %pad")
> ---
>  drivers/dma/at_hdmac_regs.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/dma/at_hdmac_regs.h b/drivers/dma/at_hdmac_regs.h
> index 610907dbc11a..0474e4a0f02a 100644
> --- a/drivers/dma/at_hdmac_regs.h
> +++ b/drivers/dma/at_hdmac_regs.h
> @@ -386,8 +386,8 @@ static void atc_dump_lli(struct at_dma_chan *atchan, struct at_lli *lli)
>  {
>  	dev_crit(chan2dev(&atchan->chan_common),
>  		 "  desc: s%pad d%pad ctrl0x%x:0x%x l%pad\n",
> -		 lli->saddr, lli->daddr,
> -		 lli->ctrla, lli->ctrlb, lli->dscr);
> +		 &lli->saddr, &lli->daddr,
> +		 lli->ctrla, lli->ctrlb, &lli->dscr);
>  }
>  
>  
> -- 
> 2.1.0.rc2
> 
> 

-- 
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web