%pad prints a DMA address out of a pointer to dma_addr_t.
Casting the dma_addr_t itself to void *, will lead to printf
dereferencing it and printing the first sizeof(dma_addr_t).

The dwc2 driver is the only one using %pad. Fix it.

Signed-off-by: Ahmad Fatoum <[email protected]>
---
 drivers/usb/dwc2/gadget.c | 2 +-
 drivers/usb/dwc2/host.c   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
index b8ec37be78b8..053a243d64c3 100644
--- a/drivers/usb/dwc2/gadget.c
+++ b/drivers/usb/dwc2/gadget.c
@@ -307,7 +307,7 @@ static void dwc2_gadget_start_req(struct dwc2 *dwc2,
                dwc2_writel(dwc2, ureq->dma, dma_reg);
 
                dwc2_dbg(dwc2, "%s: 0x%pad => 0x%08x\n",
-                        __func__, (void *)ureq->dma, dma_reg);
+                        __func__, &ureq->dma, dma_reg);
        }
 
        if (hs_ep->isochronous && hs_ep->interval == 1) {
diff --git a/drivers/usb/dwc2/host.c b/drivers/usb/dwc2/host.c
index 7a070d91f3bc..b5a51f566804 100644
--- a/drivers/usb/dwc2/host.c
+++ b/drivers/usb/dwc2/host.c
@@ -181,7 +181,7 @@ static int transfer_chunk(struct dwc2 *dwc2, u8 hc,
        }
 
        dwc2_dbg(dwc2, "chunk: pid=%d xfer_len=%u pkts=%u dma_addr=%pad\n",
-                *pid, xfer_len, num_packets, (void *)dma_addr);
+                *pid, xfer_len, num_packets, &dma_addr);
 
        dwc2_writel(dwc2, dma_addr, HCDMA(hc));
 
-- 
2.30.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to