| From b301f14da456ed5f337ed209016863a2fc5f9cfa Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 23 Apr 2020 16:02:11 -0700 |
| Subject: net: bcmgenet: suppress warnings on failed Rx SKB allocations |
| |
| From: Doug Berger <opendmb@gmail.com> |
| |
| [ Upstream commit ecaeceb8a8a145d93c7e136f170238229165348f ] |
| |
| The driver is designed to drop Rx packets and reclaim the buffers |
| when an allocation fails, and the network interface needs to safely |
| handle this packet loss. Therefore, an allocation failure of Rx |
| SKBs is relatively benign. |
| |
| However, the output of the warning message occurs with a high |
| scheduling priority that can cause excessive jitter/latency for |
| other high priority processing. |
| |
| This commit suppresses the warning messages to prevent scheduling |
| problems while retaining the failure count in the statistics of |
| the network interface. |
| |
| Signed-off-by: Doug Berger <opendmb@gmail.com> |
| Acked-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/broadcom/genet/bcmgenet.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| index 789c206b515ed..89cc146d2c5c8 100644 |
| --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| @@ -1699,7 +1699,8 @@ static struct sk_buff *bcmgenet_rx_refill(struct bcmgenet_priv *priv, |
| dma_addr_t mapping; |
| |
| /* Allocate a new Rx skb */ |
| - skb = netdev_alloc_skb(priv->dev, priv->rx_buf_len + SKB_ALIGNMENT); |
| + skb = __netdev_alloc_skb(priv->dev, priv->rx_buf_len + SKB_ALIGNMENT, |
| + GFP_ATOMIC | __GFP_NOWARN); |
| if (!skb) { |
| priv->mib.alloc_rx_buff_failed++; |
| netif_err(priv, rx_err, priv->dev, |
| -- |
| 2.20.1 |
| |