FAILED: patch "[PATCH] net: ena: Fix wrong rx request id by resetting device" failed to apply to 5.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From cb3d4f98f0b26eafa0b913ac3716e4714254a747 Mon Sep 17 00:00:00 2001
From: Arthur Kiyanovski <[email protected]>
Date: Sun, 2 Jan 2022 07:37:27 +0000
Subject: [PATCH] net: ena: Fix wrong rx request id by resetting device
A wrong request id received from the device is a sign that something is wrong with it, therefore trigger a device reset.
Also add some debug info to the "Page is NULL" print to make it easier to debug.
Fixes 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)")
Signed-off-by Arthur Kiyanovski <[email protected]>
Signed-off-by David S. Miller <[email protected]>
drivers/net/ethernet/amazon/ena/ena_netdev.c +9 -2
@@ -1428,6 +1428,7 @@ static struct sk_buff *ena_rx_skb(struct ena_ring *rx_ring, u16 *next_to_clean) {struct ena_rx_buffer *rx_info; +struct ena_adapter *adapter;u16 len, req_id, buf =0 ;struct sk_buff *skb;void *page_addr;
@@ -1440,8 +1441,14 @@ static struct sk_buff *ena_rx_skb(struct ena_ring *rx_ring, rx_info = &rx_ring->rx_buffer_info[req_id];if (unlikely (!rx_info->page)) { -netif_err (rx_ring->adapter, rx_err, rx_ring->netdev, -"Page is NULL\n" ); + adapter = rx_ring->adapter; +netif_err (adapter, rx_err, rx_ring->netdev, +"Page is NULL. qid %u req_id %u\n" , rx_ring->qid, req_id); +ena_increase_stat (&rx_ring->rx_stats.bad_req_id,1 , &rx_ring->syncp); + adapter->reset_reason =ENA_REGS_RESET_INV_RX_REQ_ID ; +/* Make sure reset reason is set before triggering the reset */ +smp_mb__before_atomic (); +set_bit (ENA_FLAG_TRIGGER_RESET , &adapter->flags);return NULL ; }