Skip to content

Commit 934e0f8

Browse files
yanmarkmandavem330
authored andcommitted
net: mvpp2: print rx error with rate-limit
Prevent flood of RX error prints during heavy traffic with weak signal in link by checking net_ratelimit() before using netdev_err(). Signed-off-by: Yan Markman <[email protected]> [Antoine: small rework, commit message] Signed-off-by: Antoine Tenart <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 5b0ab2f commit 934e0f8

File tree

1 file changed

+8
-6
lines changed
  • drivers/net/ethernet/marvell

1 file changed

+8
-6
lines changed

drivers/net/ethernet/marvell/mvpp2.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6381,21 +6381,23 @@ static void mvpp2_rx_error(struct mvpp2_port *port,
63816381
{
63826382
u32 status = mvpp2_rxdesc_status_get(port, rx_desc);
63836383
size_t sz = mvpp2_rxdesc_size_get(port, rx_desc);
6384+
char *err_str = NULL;
63846385

63856386
switch (status & MVPP2_RXD_ERR_CODE_MASK) {
63866387
case MVPP2_RXD_ERR_CRC:
6387-
netdev_err(port->dev, "bad rx status %08x (crc error), size=%zu\n",
6388-
status, sz);
6388+
err_str = "crc";
63896389
break;
63906390
case MVPP2_RXD_ERR_OVERRUN:
6391-
netdev_err(port->dev, "bad rx status %08x (overrun error), size=%zu\n",
6392-
status, sz);
6391+
err_str = "overrun";
63936392
break;
63946393
case MVPP2_RXD_ERR_RESOURCE:
6395-
netdev_err(port->dev, "bad rx status %08x (resource error), size=%zu\n",
6396-
status, sz);
6394+
err_str = "resource";
63976395
break;
63986396
}
6397+
if (err_str && net_ratelimit())
6398+
netdev_err(port->dev,
6399+
"bad rx status %08x (%s error), size=%zu\n",
6400+
status, err_str, sz);
63996401
}
64006402

64016403
/* Handle RX checksum offload */

0 commit comments

Comments
 (0)