[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1381837514-50660-8-git-send-email-wangkefeng.wang@huawei.com>
Date: Tue, 15 Oct 2013 19:45:03 +0800
From: Kefeng Wang <wangkefeng.wang@...wei.com>
To: <linux-kernel@...r.kernel.org>
CC: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"David S. Miller" <davem@...emloft.net>,
Pablo Neira Ayuso <pablo@...filter.org>,
"Stephen Hemminger" <stephen@...workplumber.org>,
Johannes Berg <johannes@...solutions.net>,
"John W. Linville" <linville@...driver.com>,
Stanislaw Gruszka <sgruszka@...hat.com>,
Johannes Berg <johannes.berg@...el.com>,
Francois Romieu <romieu@...zoreil.com>,
"Ben Hutchings" <bhutchings@...arflare.com>,
Chas Williams <chas@....nrl.navy.mil>,
Marc Kleine-Budde <mkl@...gutronix.de>,
Samuel Ortiz <samuel@...tiz.org>,
Paul Mackerras <paulus@...ba.org>,
Oliver Neukum <oneukum@...e.de>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
"Boris Ostrovsky" <boris.ostrovsky@...cle.com>,
David Vrabel <david.vrabel@...rix.com>,
Rusty Russell <rusty@...tcorp.com.au>,
"Michael S. Tsirkin" <mst@...hat.com>, <netfilter@...r.kernel.org>,
<netdev@...r.kernel.org>, <linux-wireless@...r.kernel.org>,
<guohanjun@...wei.com>
Subject: [PATCH 07/18] net: ethernet: use wrapper functions of net_ratelimit() to simplify code
Wrapper functions net_ratelimited_function() and net_XXX_ratelimited()
are called to simplify code.
Signed-off-by: Kefeng Wang <wangkefeng.wang@...wei.com>
---
drivers/net/ethernet/aeroflex/greth.c | 16 ++++----
drivers/net/ethernet/alteon/acenic.c | 3 +-
drivers/net/ethernet/arc/emac_main.c | 7 ++--
drivers/net/ethernet/broadcom/b44.c | 4 +-
drivers/net/ethernet/ethoc.c | 4 +-
drivers/net/ethernet/faraday/ftgmac100.c | 49 +++++++-----------------
drivers/net/ethernet/faraday/ftmac100.c | 45 +++++++---------------
drivers/net/ethernet/freescale/fec_mpc52xx.c | 3 +-
drivers/net/ethernet/ibm/emac/mal.c | 15 ++------
drivers/net/ethernet/marvell/mv643xx_eth.c | 6 +--
drivers/net/ethernet/marvell/pxa168_eth.c | 8 +---
drivers/net/ethernet/marvell/sky2.c | 42 ++++++++------------
drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 5 +--
drivers/net/ethernet/realtek/r8169.c | 13 +++----
drivers/net/ethernet/sfc/rx.c | 8 ++--
drivers/net/ethernet/sfc/siena_sriov.c | 27 +++++--------
drivers/net/ethernet/ti/davinci_emac.c | 4 +-
drivers/net/ethernet/tundra/tsi108_eth.c | 12 ++----
18 files changed, 90 insertions(+), 181 deletions(-)
diff --git a/drivers/net/ethernet/aeroflex/greth.c b/drivers/net/ethernet/aeroflex/greth.c
index e066945..6a1a97f 100644
--- a/drivers/net/ethernet/aeroflex/greth.c
+++ b/drivers/net/ethernet/aeroflex/greth.c
@@ -569,8 +569,8 @@ frag_map_error:
greth_write_bd(&bdp->stat, 0);
}
map_error:
- if (net_ratelimit())
- dev_warn(greth->dev, "Could not create TX DMA mapping\n");
+ net_ratelimited_function(dev_warn,
+ greth->dev, "Could not create TX DMA mapping\n");
dev_kfree_skb(skb);
out:
return err;
@@ -778,8 +778,8 @@ static int greth_rx(struct net_device *dev, int limit)
if (unlikely(skb == NULL)) {
- if (net_ratelimit())
- dev_warn(&dev->dev, "low on memory - " "packet dropped\n");
+ net_ratelimited_function(dev_warn, &dev->dev,
+ "low on memory - packet dropped\n");
dev->stats.rx_dropped++;
@@ -918,8 +918,8 @@ static int greth_rx_gbit(struct net_device *dev, int limit)
greth->rx_skbuff[greth->rx_cur] = newskb;
greth_write_bd(&bdp->addr, dma_addr);
} else {
- if (net_ratelimit())
- dev_warn(greth->dev, "Could not create DMA mapping, dropping packet\n");
+ net_ratelimited_function(dev_warn, greth->dev,
+ "Could not create DMA mapping, dropping packet\n");
dev_kfree_skb(newskb);
/* reusing current skb, so it is a drop */
dev->stats.rx_dropped++;
@@ -934,8 +934,8 @@ static int greth_rx_gbit(struct net_device *dev, int limit)
* table handling should be divided into cleaning and
* filling as the TX part of the driver
*/
- if (net_ratelimit())
- dev_warn(greth->dev, "Could not allocate SKB, dropping packet\n");
+ net_ratelimited_function(dev_warn, greth->dev,
+ "Could not allocate SKB, dropping packet\n");
/* reusing current skb, so it is a drop */
dev->stats.rx_dropped++;
}
diff --git a/drivers/net/ethernet/alteon/acenic.c b/drivers/net/ethernet/alteon/acenic.c
index 219be1b..432640b 100644
--- a/drivers/net/ethernet/alteon/acenic.c
+++ b/drivers/net/ethernet/alteon/acenic.c
@@ -1799,8 +1799,7 @@ static void ace_load_jumbo_rx_ring(struct net_device *dev, int nr_bufs)
clear_bit(0, &ap->jumbo_refill_busy);
return;
error_out:
- if (net_ratelimit())
- printk(KERN_INFO "Out of memory when allocating "
+ net_info_ratelimited("Out of memory when allocating "
"jumbo receive buffers\n");
goto out;
}
diff --git a/drivers/net/ethernet/arc/emac_main.c b/drivers/net/ethernet/arc/emac_main.c
index 9e16014..fe659b8 100644
--- a/drivers/net/ethernet/arc/emac_main.c
+++ b/drivers/net/ethernet/arc/emac_main.c
@@ -221,8 +221,8 @@ static int arc_emac_rx(struct net_device *ndev, int budget)
/* We pre-allocate buffers of MTU size so incoming
* packets won't be split/chained.
*/
- if (net_ratelimit())
- netdev_err(ndev, "incomplete packet received\n");
+ net_ratelimited_funciton(netdev_err, ndev,
+ "incomplete packet received\n");
/* Return ownership to EMAC */
rxbd->info = cpu_to_le32(FOR_EMAC | EMAC_BUFFER_SIZE);
@@ -258,8 +258,7 @@ static int arc_emac_rx(struct net_device *ndev, int budget)
addr = dma_map_single(&ndev->dev, (void *)rx_buff->skb->data,
EMAC_BUFFER_SIZE, DMA_FROM_DEVICE);
if (dma_mapping_error(&ndev->dev, addr)) {
- if (net_ratelimit())
- netdev_err(ndev, "cannot dma map\n");
+ net_ratelimited_function(netdev_err, ndev, "cannot dma map\n");
dev_kfree_skb(rx_buff->skb);
stats->rx_errors++;
continue;
diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
index 9b017d9..7e422dc 100644
--- a/drivers/net/ethernet/broadcom/b44.c
+++ b/drivers/net/ethernet/broadcom/b44.c
@@ -187,8 +187,8 @@ static int b44_wait_bit(struct b44 *bp, unsigned long reg,
udelay(10);
}
if (i == timeout) {
- if (net_ratelimit())
- netdev_err(bp->dev, "BUG! Timeout waiting for bit %08x of register %lx to %s\n",
+ net_ratelimited_function(netdev_err, bp->dev,
+ "BUG! Timeout waiting for bit %08x of register %lx to %s\n",
bit, reg, clear ? "clear" : "set");
return -ENODEV;
diff --git a/drivers/net/ethernet/ethoc.c b/drivers/net/ethernet/ethoc.c
index 4de8cfd..b61b56d 100644
--- a/drivers/net/ethernet/ethoc.c
+++ b/drivers/net/ethernet/ethoc.c
@@ -446,10 +446,8 @@ static int ethoc_rx(struct net_device *dev, int limit)
dev->stats.rx_bytes += size;
netif_receive_skb(skb);
} else {
- if (net_ratelimit())
- dev_warn(&dev->dev,
+ net_ratelimited_function(dev_warn, &dev->dev,
"low on memory - packet dropped\n");
-
dev->stats.rx_dropped++;
break;
}
diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
index 212f44b..a289337 100644
--- a/drivers/net/ethernet/faraday/ftgmac100.c
+++ b/drivers/net/ethernet/faraday/ftgmac100.c
@@ -354,42 +354,30 @@ static bool ftgmac100_rx_packet_error(struct ftgmac100 *priv,
bool error = false;
if (unlikely(ftgmac100_rxdes_rx_error(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx err\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx err\n");
netdev->stats.rx_errors++;
error = true;
}
if (unlikely(ftgmac100_rxdes_crc_error(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx crc err\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx crc err\n");
netdev->stats.rx_crc_errors++;
error = true;
} else if (unlikely(ftgmac100_rxdes_ipcs_err(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx IP checksum err\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx IP checksum err\n");
error = true;
}
if (unlikely(ftgmac100_rxdes_frame_too_long(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx frame too long\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx frame too long\n");
netdev->stats.rx_length_errors++;
error = true;
} else if (unlikely(ftgmac100_rxdes_runt(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx runt\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx runt\n");
netdev->stats.rx_length_errors++;
error = true;
} else if (unlikely(ftgmac100_rxdes_odd_nibble(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx odd nibble\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx odd bibble\n");
netdev->stats.rx_length_errors++;
error = true;
}
@@ -403,8 +391,7 @@ static void ftgmac100_rx_drop_packet(struct ftgmac100 *priv)
struct ftgmac100_rxdes *rxdes = ftgmac100_current_rxdes(priv);
bool done = false;
- if (net_ratelimit())
- netdev_dbg(netdev, "drop packet %p\n", rxdes);
+ net_ratelimited_function(netdev_dbg, netdev, "drop packet %p\n", rxdes);
do {
if (ftgmac100_rxdes_last_segment(rxdes))
@@ -437,9 +424,7 @@ static bool ftgmac100_rx_packet(struct ftgmac100 *priv, int *processed)
/* start processing */
skb = netdev_alloc_skb_ip_align(netdev, 128);
if (unlikely(!skb)) {
- if (net_ratelimit())
- netdev_err(netdev, "rx skb alloc failed\n");
-
+ net_ratelimited_function(netdev_err, netdev, "rx skb alloc failed\n");
ftgmac100_rx_drop_packet(priv);
return true;
}
@@ -723,15 +708,13 @@ static int ftgmac100_alloc_rx_page(struct ftgmac100 *priv,
page = alloc_page(gfp);
if (!page) {
- if (net_ratelimit())
- netdev_err(netdev, "failed to allocate rx page\n");
+ net_ratelimited_function(netdev_err, netdev, "failed to allocate rx page\n");
return -ENOMEM;
}
map = dma_map_page(priv->dev, page, 0, RX_BUF_SIZE, DMA_FROM_DEVICE);
if (unlikely(dma_mapping_error(priv->dev, map))) {
- if (net_ratelimit())
- netdev_err(netdev, "failed to map rx page\n");
+ net_ratelimited_function(netdev_err, netdev, "failed to map rx page\n");
__free_page(page);
return -ENOMEM;
}
@@ -1043,8 +1026,8 @@ static int ftgmac100_poll(struct napi_struct *napi, int budget)
if (status & (FTGMAC100_INT_NO_RXBUF | FTGMAC100_INT_RPKT_LOST |
FTGMAC100_INT_AHB_ERR | FTGMAC100_INT_PHYSTS_CHG)) {
- if (net_ratelimit())
- netdev_info(netdev, "[ISR] = 0x%x: %s%s%s%s\n", status,
+ net_ratelimited_function(netdev_info, netdev, "[ISR] = 0x%x: %s%s%s%s\n",
+ status,
status & FTGMAC100_INT_NO_RXBUF ? "NO_RXBUF " : "",
status & FTGMAC100_INT_RPKT_LOST ? "RPKT_LOST " : "",
status & FTGMAC100_INT_AHB_ERR ? "AHB_ERR " : "",
@@ -1145,9 +1128,7 @@ static int ftgmac100_hard_start_xmit(struct sk_buff *skb,
dma_addr_t map;
if (unlikely(skb->len > MAX_PKT_SIZE)) {
- if (net_ratelimit())
- netdev_dbg(netdev, "tx packet too big\n");
-
+ net_ratelimited_function(netdev_dbg, netdev, "tx packet too big\n");
netdev->stats.tx_dropped++;
dev_kfree_skb(skb);
return NETDEV_TX_OK;
@@ -1156,9 +1137,7 @@ static int ftgmac100_hard_start_xmit(struct sk_buff *skb,
map = dma_map_single(priv->dev, skb->data, skb_headlen(skb), DMA_TO_DEVICE);
if (unlikely(dma_mapping_error(priv->dev, map))) {
/* drop packet */
- if (net_ratelimit())
- netdev_err(netdev, "map socket buffer failed\n");
-
+ net_ratelimited_function(netdev_err, netdev, "map socket buffer failed\n");
netdev->stats.tx_dropped++;
dev_kfree_skb(skb);
return NETDEV_TX_OK;
diff --git a/drivers/net/ethernet/faraday/ftmac100.c b/drivers/net/ethernet/faraday/ftmac100.c
index 8be5b40..ec8afe2 100644
--- a/drivers/net/ethernet/faraday/ftmac100.c
+++ b/drivers/net/ethernet/faraday/ftmac100.c
@@ -335,37 +335,27 @@ static bool ftmac100_rx_packet_error(struct ftmac100 *priv,
bool error = false;
if (unlikely(ftmac100_rxdes_rx_error(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx err\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx err\n");
netdev->stats.rx_errors++;
error = true;
}
if (unlikely(ftmac100_rxdes_crc_error(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx crc err\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx crc err\n");
netdev->stats.rx_crc_errors++;
error = true;
}
if (unlikely(ftmac100_rxdes_frame_too_long(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx frame too long\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx frame too long\n");
netdev->stats.rx_length_errors++;
error = true;
} else if (unlikely(ftmac100_rxdes_runt(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx runt\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx runt\n");
netdev->stats.rx_length_errors++;
error = true;
} else if (unlikely(ftmac100_rxdes_odd_nibble(rxdes))) {
- if (net_ratelimit())
- netdev_info(netdev, "rx odd nibble\n");
-
+ net_ratelimited_function(netdev_info, netdev, "rx odd nibble\n");
netdev->stats.rx_length_errors++;
error = true;
}
@@ -379,8 +369,7 @@ static void ftmac100_rx_drop_packet(struct ftmac100 *priv)
struct ftmac100_rxdes *rxdes = ftmac100_current_rxdes(priv);
bool done = false;
- if (net_ratelimit())
- netdev_dbg(netdev, "drop packet %p\n", rxdes);
+ net_ratelimited_function(netdev_dbg, netdev, "drop packet %p\n", rxdes);
do {
if (ftmac100_rxdes_last_segment(rxdes))
@@ -422,9 +411,7 @@ static bool ftmac100_rx_packet(struct ftmac100 *priv, int *processed)
/* start processing */
skb = netdev_alloc_skb_ip_align(netdev, 128);
if (unlikely(!skb)) {
- if (net_ratelimit())
- netdev_err(netdev, "rx skb alloc failed\n");
-
+ net_ratelimited_function(netdev_err, netdev, "rx skb alloc failed\n");
ftmac100_rx_drop_packet(priv);
return true;
}
@@ -676,15 +663,13 @@ static int ftmac100_alloc_rx_page(struct ftmac100 *priv,
page = alloc_page(gfp);
if (!page) {
- if (net_ratelimit())
- netdev_err(netdev, "failed to allocate rx page\n");
+ net_ratelimited_function(netdev_err, netdev, "failed to allocate rx page\n");
return -ENOMEM;
}
map = dma_map_page(priv->dev, page, 0, RX_BUF_SIZE, DMA_FROM_DEVICE);
if (unlikely(dma_mapping_error(priv->dev, map))) {
- if (net_ratelimit())
- netdev_err(netdev, "failed to map rx page\n");
+ net_ratelimited_function(netdev_err, netdev, "failed to map rx page\n");
__free_page(page);
return -ENOMEM;
}
@@ -919,8 +904,8 @@ static int ftmac100_poll(struct napi_struct *napi, int budget)
if (status & (FTMAC100_INT_NORXBUF | FTMAC100_INT_RPKT_LOST |
FTMAC100_INT_AHB_ERR | FTMAC100_INT_PHYSTS_CHG)) {
- if (net_ratelimit())
- netdev_info(netdev, "[ISR] = 0x%x: %s%s%s%s\n", status,
+ net_ratelimited_function(netdev_info, netdev, "[ISR] = 0x%x: %s%s%s%s\n",
+ status,
status & FTMAC100_INT_NORXBUF ? "NORXBUF " : "",
status & FTMAC100_INT_RPKT_LOST ? "RPKT_LOST " : "",
status & FTMAC100_INT_AHB_ERR ? "AHB_ERR " : "",
@@ -1015,9 +1000,7 @@ static int ftmac100_hard_start_xmit(struct sk_buff *skb, struct net_device *netd
dma_addr_t map;
if (unlikely(skb->len > MAX_PKT_SIZE)) {
- if (net_ratelimit())
- netdev_dbg(netdev, "tx packet too big\n");
-
+ net_ratelimited_function(netdev_dbg, netdev, "tx packet too big\n");
netdev->stats.tx_dropped++;
dev_kfree_skb(skb);
return NETDEV_TX_OK;
@@ -1026,9 +1009,7 @@ static int ftmac100_hard_start_xmit(struct sk_buff *skb, struct net_device *netd
map = dma_map_single(priv->dev, skb->data, skb_headlen(skb), DMA_TO_DEVICE);
if (unlikely(dma_mapping_error(priv->dev, map))) {
/* drop packet */
- if (net_ratelimit())
- netdev_err(netdev, "map socket buffer failed\n");
-
+ net_ratelimited_function(netdev_err, netdev, "map socket buffer failed\n");
netdev->stats.tx_dropped++;
dev_kfree_skb(skb);
return NETDEV_TX_OK;
diff --git a/drivers/net/ethernet/freescale/fec_mpc52xx.c b/drivers/net/ethernet/freescale/fec_mpc52xx.c
index 9947765..6b1feeb 100644
--- a/drivers/net/ethernet/freescale/fec_mpc52xx.c
+++ b/drivers/net/ethernet/freescale/fec_mpc52xx.c
@@ -313,8 +313,7 @@ static int mpc52xx_fec_start_xmit(struct sk_buff *skb, struct net_device *dev)
unsigned long flags;
if (bcom_queue_full(priv->tx_dmatsk)) {
- if (net_ratelimit())
- dev_err(&dev->dev, "transmit queue overrun\n");
+ net_ratelimited_function(dev_err, &dev->dev, "transmit queue overrun\n");
return NETDEV_TX_BUSY;
}
diff --git a/drivers/net/ethernet/ibm/emac/mal.c b/drivers/net/ethernet/ibm/emac/mal.c
index dac564c..9177345 100644
--- a/drivers/net/ethernet/ibm/emac/mal.c
+++ b/drivers/net/ethernet/ibm/emac/mal.c
@@ -240,20 +240,15 @@ static irqreturn_t mal_serr(int irq, void *dev_instance)
/* PLB error, it's probably buggy hardware or
* incorrect physical address in BD (i.e. bug)
*/
- if (net_ratelimit())
- printk(KERN_ERR
- "mal%d: system error, "
- "PLB (ESR = 0x%08x)\n",
- mal->index, esr);
+ net_err_ratelimited("mal%d: system error, "
+ "PLB (ESR = 0x%08x)\n", mal->index, esr);
return IRQ_HANDLED;
}
/* OPB error, it's probably buggy hardware or incorrect
* EBC setup
*/
- if (net_ratelimit())
- printk(KERN_ERR
- "mal%d: system error, OPB (ESR = 0x%08x)\n",
+ net_err_ratelimited("mal%d: system error, OPB (ESR = 0x%08x)\n",
mal->index, esr);
}
return IRQ_HANDLED;
@@ -318,9 +313,7 @@ static irqreturn_t mal_txde(int irq, void *dev_instance)
MAL_DBG(mal, "txde %08x" NL, deir);
- if (net_ratelimit())
- printk(KERN_ERR
- "mal%d: TX descriptor error (TXDEIR = 0x%08x)\n",
+ net_err_ratelimited("mal%d: TX descriptor error (TXDEIR = 0x%08x)\n",
mal->index, deir);
return IRQ_HANDLED;
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index 7fb5677..d1e23d7 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -573,8 +573,7 @@ err:
if ((cmd_sts & (RX_FIRST_DESC | RX_LAST_DESC)) !=
(RX_FIRST_DESC | RX_LAST_DESC)) {
- if (net_ratelimit())
- netdev_err(mp->dev,
+ net_ratelimited_function(netdev_err, mp->dev,
"received packet spanning multiple descriptors\n");
}
@@ -818,8 +817,7 @@ static netdev_tx_t mv643xx_eth_xmit(struct sk_buff *skb, struct net_device *dev)
}
if (txq->tx_ring_size - txq->tx_desc_count < MAX_SKB_FRAGS + 1) {
- if (net_ratelimit())
- netdev_err(dev, "tx queue full?!\n");
+ net_ratelimited_function(netdev_err, dev, "tx queue full?!\n");
kfree_skb(skb);
return NETDEV_TX_OK;
}
diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
index fff6246..ce36745 100644
--- a/drivers/net/ethernet/marvell/pxa168_eth.c
+++ b/drivers/net/ethernet/marvell/pxa168_eth.c
@@ -744,8 +744,7 @@ static int txq_reclaim(struct net_device *dev, int force)
pep->tx_skb[tx_index] = NULL;
if (cmd_sts & TX_ERROR) {
- if (net_ratelimit())
- printk(KERN_ERR "%s: Error in TX\n", dev->name);
+ net_err_ratelimited("%s: Error in TX\n", dev->name);
dev->stats.tx_errors++;
}
dma_unmap_single(NULL, addr, count, DMA_TO_DEVICE);
@@ -832,10 +831,7 @@ static int rxq_process(struct net_device *dev, int budget)
stats->rx_dropped++;
if ((cmd_sts & (RX_FIRST_DESC | RX_LAST_DESC)) !=
(RX_FIRST_DESC | RX_LAST_DESC)) {
- if (net_ratelimit())
- printk(KERN_ERR
- "%s: Rx pkt on multiple desc\n",
- dev->name);
+ net_err_ratelimited("%s: Rx pkt on multiple desc\n", dev->name);
}
if (cmd_sts & RX_ERROR)
stats->rx_errors++;
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index e09a8c6..42cad5d 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -1250,8 +1250,7 @@ map_page_error:
PCI_DMA_FROMDEVICE);
mapping_error:
- if (net_ratelimit())
- dev_warn(&pdev->dev, "%s: rx mapping error\n",
+ net_ratelimited_function(dev_warn, &pdev->dev, "%s: rx mapping error\n",
skb->dev->name);
return -EIO;
}
@@ -1998,8 +1997,8 @@ mapping_unwind:
}
mapping_error:
- if (net_ratelimit())
- dev_warn(&hw->pdev->dev, "%s: tx mapping error\n", dev->name);
+ net_ratelimited_function(dev_warn, &hw->pdev->dev,
+ "%s: tx mapping error\n", dev->name);
dev_kfree_skb(skb);
return NETDEV_TX_OK;
}
@@ -2633,8 +2632,7 @@ resubmit:
error:
++dev->stats.rx_errors;
- if (net_ratelimit())
- netif_info(sky2, rx_err, dev,
+ net_ratelimited_function(netif_info, sky2, rx_err, dev,
"rx error, status 0x%x length %d\n", status, length);
goto resubmit;
@@ -2809,8 +2807,7 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do, u16 idx)
break;
default:
- if (net_ratelimit())
- pr_warning("unknown status opcode 0x%x\n", opcode);
+ net_warn_ratelimited("unknown status opcode 0x%x\n", opcode);
}
} while (hw->st_idx != idx);
@@ -2828,38 +2825,33 @@ static void sky2_hw_error(struct sky2_hw *hw, unsigned port, u32 status)
{
struct net_device *dev = hw->dev[port];
- if (net_ratelimit())
- netdev_info(dev, "hw error interrupt status 0x%x\n", status);
+ net_ratelimited_function(netdev_info, dev, "hw error interrupt status 0x%x\n",
+ status);
if (status & Y2_IS_PAR_RD1) {
- if (net_ratelimit())
- netdev_err(dev, "ram data read parity error\n");
+ net_ratelimited_function(netdev_err, dev, "ram data read parity error\n");
/* Clear IRQ */
sky2_write16(hw, RAM_BUFFER(port, B3_RI_CTRL), RI_CLR_RD_PERR);
}
if (status & Y2_IS_PAR_WR1) {
- if (net_ratelimit())
- netdev_err(dev, "ram data write parity error\n");
+ net_ratelimited_function(netdev_err, dev, "ram data write parity error\n");
sky2_write16(hw, RAM_BUFFER(port, B3_RI_CTRL), RI_CLR_WR_PERR);
}
if (status & Y2_IS_PAR_MAC1) {
- if (net_ratelimit())
- netdev_err(dev, "MAC parity error\n");
+ net_ratelimited_function(netdev_err, dev, "MAC parity error\n");
sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_CLI_TX_PE);
}
if (status & Y2_IS_PAR_RX1) {
- if (net_ratelimit())
- netdev_err(dev, "RX parity error\n");
+ net_ratelimited_function(netdev_err, dev, "RX parity error\n");
sky2_write32(hw, Q_ADDR(rxqaddr[port], Q_CSR), BMU_CLR_IRQ_PAR);
}
if (status & Y2_IS_TCP_TXA1) {
- if (net_ratelimit())
- netdev_err(dev, "TCP segmentation error\n");
+ net_ratelimited_function(netdev_err, dev, "TCP segmentation error\n");
sky2_write32(hw, Q_ADDR(txqaddr[port], Q_CSR), BMU_CLR_IRQ_TCP);
}
}
@@ -2880,8 +2872,7 @@ static void sky2_hw_intr(struct sky2_hw *hw)
sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON);
pci_err = sky2_pci_read16(hw, PCI_STATUS);
- if (net_ratelimit())
- dev_err(&pdev->dev, "PCI hardware error (0x%x)\n",
+ net_ratelimited_function(dev_err, &pdev->dev, "PCI hardware error (0x%x)\n",
pci_err);
sky2_pci_write16(hw, PCI_STATUS,
@@ -2897,8 +2888,7 @@ static void sky2_hw_intr(struct sky2_hw *hw)
err = sky2_read32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS);
sky2_write32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS,
0xfffffffful);
- if (net_ratelimit())
- dev_err(&pdev->dev, "PCI Express error (0x%x)\n", err);
+ net_ratelimited_function(dev_err, &pdev->dev, "PCI Express error (0x%x)\n", err);
sky2_read32(hw, Y2_CFG_AER + PCI_ERR_UNCOR_STATUS);
sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF);
@@ -3017,8 +3007,8 @@ static void sky2_watchdog(unsigned long arg)
/* Hardware/software error handling */
static void sky2_err_intr(struct sky2_hw *hw, u32 status)
{
- if (net_ratelimit())
- dev_warn(&hw->pdev->dev, "error interrupt status=%#x\n", status);
+ net_ratelimited_function(dev_warn, &hw->pdev->dev,
+ "error interrupt status=%#x\n", status);
if (status & Y2_IS_HW_ERR)
sky2_hw_intr(hw);
diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
index 149355b..920ef96 100644
--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
+++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
@@ -3559,9 +3559,8 @@ myri10ge_check_slice(struct myri10ge_slice_state *ss, int *reset_needed,
ss->watchdog_tx_req != ss->watchdog_tx_done) {
/* nic seems like it might be stuck.. */
if (rx_pause_cnt != mgp->watchdog_pause) {
- if (net_ratelimit())
- netdev_warn(mgp->dev, "slice %d: TX paused, "
- "check link partner\n", slice);
+ net_ratelimited_function(netdev_warn, mgp->dev,
+ "slice %d: TX paused, check link partner\n", slice);
} else {
netdev_warn(mgp->dev,
"slice %d: TX stuck %d %d %d %d %d %d\n",
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 3397cee..5e0ee96 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -1496,8 +1496,7 @@ static void __rtl8169_check_link_status(struct net_device *dev,
if (pm)
pm_request_resume(&tp->pci_dev->dev);
netif_carrier_on(dev);
- if (net_ratelimit())
- netif_info(tp, ifup, dev, "link up\n");
+ net_ratelimited_function(netif_info, tp, ifup, dev, "link up\n");
} else {
netif_carrier_off(dev);
netif_info(tp, ifdown, dev, "link down\n");
@@ -5732,8 +5731,8 @@ static struct sk_buff *rtl8169_alloc_rx_data(struct rtl8169_private *tp,
mapping = dma_map_single(d, rtl8169_align(data), rx_buf_sz,
DMA_FROM_DEVICE);
if (unlikely(dma_mapping_error(d, mapping))) {
- if (net_ratelimit())
- netif_err(tp, drv, tp->dev, "Failed to map RX DMA!\n");
+ net_ratelimited_function(netif_err,
+ tp, drv, tp->dev, "Failed to map RX DMA!\n");
goto err_out;
}
@@ -5895,8 +5894,7 @@ static int rtl8169_xmit_frags(struct rtl8169_private *tp, struct sk_buff *skb,
addr = skb_frag_address(frag);
mapping = dma_map_single(d, addr, len, DMA_TO_DEVICE);
if (unlikely(dma_mapping_error(d, mapping))) {
- if (net_ratelimit())
- netif_err(tp, drv, tp->dev,
+ net_ratelimited_function(netif_err, tp, drv, tp->dev,
"Failed to map TX fragments DMA!\n");
goto err_out;
}
@@ -5996,8 +5994,7 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
len = skb_headlen(skb);
mapping = dma_map_single(d, skb->data, len, DMA_TO_DEVICE);
if (unlikely(dma_mapping_error(d, mapping))) {
- if (net_ratelimit())
- netif_err(tp, drv, dev, "Failed to map TX DMA!\n");
+ net_ratelimited_function(netif_err, tp, drv, dev, "Failed to map TX DMA!\n");
goto err_dma_0;
}
diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c
index 4a59672..b53f16d 100644
--- a/drivers/net/ethernet/sfc/rx.c
+++ b/drivers/net/ethernet/sfc/rx.c
@@ -397,19 +397,17 @@ static void efx_rx_packet__check_len(struct efx_rx_queue *rx_queue,
rx_buf->flags |= EFX_RX_PKT_DISCARD;
if ((len > rx_buf->len) && EFX_WORKAROUND_8071(efx)) {
- if (net_ratelimit())
- netif_err(efx, rx_err, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, rx_err, efx->net_dev,
" RX queue %d seriously overlength "
"RX event (0x%x > 0x%x+0x%x). Leaking\n",
efx_rx_queue_index(rx_queue), len, max_len,
efx->type->rx_buffer_padding);
efx_schedule_reset(efx, RESET_TYPE_RX_RECOVERY);
} else {
- if (net_ratelimit())
- netif_err(efx, rx_err, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, rx_err, efx->net_dev,
" RX queue %d overlength RX event "
"(0x%x > 0x%x)\n",
- efx_rx_queue_index(rx_queue), len, max_len);
+ efx_rx_queue_index(rx_queue), len, max_len);
}
efx_rx_queue_channel(rx_queue)->n_rx_overlength++;
diff --git a/drivers/net/ethernet/sfc/siena_sriov.c b/drivers/net/ethernet/sfc/siena_sriov.c
index 0c38f92..71ec42d 100644
--- a/drivers/net/ethernet/sfc/siena_sriov.c
+++ b/drivers/net/ethernet/sfc/siena_sriov.c
@@ -532,8 +532,7 @@ static int efx_vfdi_init_evq(struct efx_vf *vf)
if (bad_vf_index(efx, vf_evq) ||
bad_buf_count(buf_count, EFX_MAX_VF_EVQ_SIZE)) {
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"ERROR: Invalid INIT_EVQ from %s: evq %d bufs %d\n",
vf->pci_name, vf_evq, buf_count);
return VFDI_RC_EINVAL;
@@ -575,8 +574,7 @@ static int efx_vfdi_init_rxq(struct efx_vf *vf)
if (bad_vf_index(efx, vf_evq) || bad_vf_index(efx, vf_rxq) ||
vf_rxq >= VF_MAX_RX_QUEUES ||
bad_buf_count(buf_count, EFX_MAX_DMAQ_SIZE)) {
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"ERROR: Invalid INIT_RXQ from %s: rxq %d evq %d "
"buf_count %d\n", vf->pci_name, vf_rxq,
vf_evq, buf_count);
@@ -616,8 +614,7 @@ static int efx_vfdi_init_txq(struct efx_vf *vf)
if (bad_vf_index(efx, vf_evq) || bad_vf_index(efx, vf_txq) ||
vf_txq >= vf_max_tx_channels ||
bad_buf_count(buf_count, EFX_MAX_DMAQ_SIZE)) {
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"ERROR: Invalid INIT_TXQ from %s: txq %d evq %d "
"buf_count %d\n", vf->pci_name, vf_txq,
vf_evq, buf_count);
@@ -759,8 +756,7 @@ static int efx_vfdi_insert_filter(struct efx_vf *vf)
unsigned flags;
if (bad_vf_index(efx, vf_rxq) || vf->rx_filtering) {
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"ERROR: Invalid INSERT_FILTER from %s: rxq %d "
"flags 0x%x\n", vf->pci_name, vf_rxq,
req->u.mac_filter.flags);
@@ -802,8 +798,7 @@ static int efx_vfdi_set_status_page(struct efx_vf *vf)
/ sizeof(req->u.set_status_page.peer_page_addr[0]);
if (!req->u.set_status_page.dma_addr || page_count > max_page_count) {
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"ERROR: Invalid SET_STATUS_PAGE from %s\n",
vf->pci_name);
return VFDI_RC_EINVAL;
@@ -875,8 +870,7 @@ static void efx_sriov_vfdi(struct work_struct *work)
rc = efx_sriov_memcpy(efx, copy, 1);
if (rc) {
/* If we can't get the request, we can't reply to the caller */
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"ERROR: Unable to fetch VFDI request from %s rc %d\n",
vf->pci_name, -rc);
vf->busy = false;
@@ -963,8 +957,7 @@ static void efx_sriov_reset_vf(struct efx_vf *vf, struct efx_buffer *buffer)
}
rc = efx_sriov_memcpy(efx, copy_req, count);
if (rc) {
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"ERROR: Unable to notify %s of reset"
": %d\n", vf->pci_name, -rc);
break;
@@ -1420,8 +1413,7 @@ void efx_sriov_event(struct efx_channel *channel, efx_qword_t *event)
}
error:
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"ERROR: Screaming VFDI request from %s\n",
vf->pci_name);
/* Reset the request and sequence number */
@@ -1509,8 +1501,7 @@ void efx_sriov_desc_fetch_err(struct efx_nic *efx, unsigned dmaq)
if (map_vi_index(efx, dmaq, &vf, &rel))
return;
- if (net_ratelimit())
- netif_err(efx, hw, efx->net_dev,
+ net_ratelimited_function(netif_err, efx, hw, efx->net_dev,
"VF %d DMA Q %d reports descriptor fetch error.\n",
vf->index, rel);
queue_work(vfdi_workqueue, &vf->reset_work);
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index 67df09e..caab0a9 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1408,10 +1408,8 @@ static int emac_poll(struct napi_struct *napi, int budget)
if (cause) {
ch = ((status & EMAC_MACSTATUS_TXERRCH_MASK) >>
EMAC_MACSTATUS_TXERRCH_SHIFT);
- if (net_ratelimit()) {
- dev_err(emac_dev, "TX Host error %s on ch=%d\n",
+ net_ratelimited_function(dev_err, emac_dev, "TX Host error %s on ch=%d\n",
&emac_txhost_errcodes[cause][0], ch);
- }
}
cause = ((status & EMAC_MACSTATUS_RXERRCODE_MASK) >>
EMAC_MACSTATUS_RXERRCODE_SHIFT);
diff --git a/drivers/net/ethernet/tundra/tsi108_eth.c b/drivers/net/ethernet/tundra/tsi108_eth.c
index c4dbf98..467d76d 100644
--- a/drivers/net/ethernet/tundra/tsi108_eth.c
+++ b/drivers/net/ethernet/tundra/tsi108_eth.c
@@ -669,10 +669,7 @@ static int tsi108_send_packet(struct sk_buff * skb, struct net_device *dev)
if (data->txfree < MAX_SKB_FRAGS + 1) {
netif_stop_queue(dev);
-
- if (net_ratelimit())
- printk(KERN_ERR "%s: Transmit with full tx ring!\n",
- dev->name);
+ net_err_ratelimited("%s: Transmit with full tx ring!\n", dev->name);
return NETDEV_TX_BUSY;
}
@@ -869,9 +866,7 @@ static int tsi108_poll(struct napi_struct *napi, int budget)
TSI_WRITE(TSI108_EC_RXERR, err);
if (err) {
- if (net_ratelimit())
- printk(KERN_DEBUG "%s: RX error %x\n",
- dev->name, err);
+ net_dbg_ratelimited("%s: RX error %x\n", dev->name, err);
if (!(TSI_READ(TSI108_EC_RXSTAT) &
TSI108_EC_RXSTAT_QUEUE0))
@@ -1024,8 +1019,7 @@ static irqreturn_t tsi108_irq(int irq, void *dev_id)
tsi108_rx_int(dev);
if (stat & TSI108_INT_SFN) {
- if (net_ratelimit())
- printk(KERN_DEBUG "%s: SFN error\n", dev->name);
+ net_dbg_ratelimited("%s: SFN error\n", dev->name);
TSI_WRITE(TSI108_EC_INTSTAT, TSI108_INT_SFN);
}
--
1.8.2.1
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists