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 <ymarkman@marvell.com> [Antoine: small rework, commit message] Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5b0ab2f41d
commit
934e0f8330
|
@ -6381,21 +6381,23 @@ static void mvpp2_rx_error(struct mvpp2_port *port,
|
|||
{
|
||||
u32 status = mvpp2_rxdesc_status_get(port, rx_desc);
|
||||
size_t sz = mvpp2_rxdesc_size_get(port, rx_desc);
|
||||
char *err_str = NULL;
|
||||
|
||||
switch (status & MVPP2_RXD_ERR_CODE_MASK) {
|
||||
case MVPP2_RXD_ERR_CRC:
|
||||
netdev_err(port->dev, "bad rx status %08x (crc error), size=%zu\n",
|
||||
status, sz);
|
||||
err_str = "crc";
|
||||
break;
|
||||
case MVPP2_RXD_ERR_OVERRUN:
|
||||
netdev_err(port->dev, "bad rx status %08x (overrun error), size=%zu\n",
|
||||
status, sz);
|
||||
err_str = "overrun";
|
||||
break;
|
||||
case MVPP2_RXD_ERR_RESOURCE:
|
||||
netdev_err(port->dev, "bad rx status %08x (resource error), size=%zu\n",
|
||||
status, sz);
|
||||
err_str = "resource";
|
||||
break;
|
||||
}
|
||||
if (err_str && net_ratelimit())
|
||||
netdev_err(port->dev,
|
||||
"bad rx status %08x (%s error), size=%zu\n",
|
||||
status, err_str, sz);
|
||||
}
|
||||
|
||||
/* Handle RX checksum offload */
|
||||
|
|
Loading…
Reference in New Issue