On my test environment the troughput of a file transfer drops from
4.4Mbps to 116Kbps due the number of repeated warning messages.
Adding printk_ratelimit() solves the issue without removing the
warning message.

Signed-off-by: Peter Senna Tschudin <[email protected]>
---
 drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bgmac.c 
b/drivers/net/ethernet/broadcom/bgmac.c
index 676ffe0..d1a259b 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
@@ -302,7 +302,7 @@ static int bgmac_dma_rx_skb_for_slot(struct bgmac *bgmac,
        slot->skb = skb;
        slot->dma_addr = dma_addr;
 
-       if (slot->dma_addr & 0xC0000000)
+       if ((slot->dma_addr & 0xC0000000) && printk_ratelimit())
                bgmac_warn(bgmac, "DMA address using 0xC0000000 bit(s), it may 
need translation trick\n");
 
        return 0;
@@ -505,7 +505,7 @@ static int bgmac_dma_alloc(struct bgmac *bgmac)
                                  ring->mmio_base);
                        goto err_dma_free;
                }
-               if (ring->dma_base & 0xC0000000)
+               if ((ring->dma_base & 0xC0000000) && printk_ratelimit())
                        bgmac_warn(bgmac, "DMA address using 0xC0000000 bit(s), 
it may need translation trick\n");
 
                ring->unaligned = bgmac_dma_unaligned(bgmac, ring,
@@ -536,7 +536,7 @@ static int bgmac_dma_alloc(struct bgmac *bgmac)
                        err = -ENOMEM;
                        goto err_dma_free;
                }
-               if (ring->dma_base & 0xC0000000)
+               if ((ring->dma_base & 0xC0000000) && printk_ratelimit())
                        bgmac_warn(bgmac, "DMA address using 0xC0000000 bit(s), 
it may need translation trick\n");
 
                ring->unaligned = bgmac_dma_unaligned(bgmac, ring,
-- 
2.1.0

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

Reply via email to