| From 5c6af3ea7b094320402e44e76f9f996eb27112d5 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 23 Apr 2020 16:13:30 -0700 |
| Subject: net: systemport: suppress warnings on failed Rx SKB allocations |
| |
| From: Doug Berger <opendmb@gmail.com> |
| |
| [ Upstream commit 3554e54a46125030c534820c297ed7f6c3907e24 ] |
| |
| 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/bcmsysport.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/broadcom/bcmsysport.c |
| +++ b/drivers/net/ethernet/broadcom/bcmsysport.c |
| @@ -677,7 +677,8 @@ static struct sk_buff *bcm_sysport_rx_re |
| dma_addr_t mapping; |
| |
| /* Allocate a new SKB for a new packet */ |
| - skb = netdev_alloc_skb(priv->netdev, RX_BUF_LENGTH); |
| + skb = __netdev_alloc_skb(priv->netdev, RX_BUF_LENGTH, |
| + GFP_ATOMIC | __GFP_NOWARN); |
| if (!skb) { |
| priv->mib.alloc_rx_buff_failed++; |
| netif_err(priv, rx_err, ndev, "SKB alloc failed\n"); |