Message ID | 20190623071110.18687-1-sameehj@amazon.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [V1,net-next] net: ena: Fix bug where ring allocation backoff stopped too late | expand |
From: <sameehj@amazon.com> Date: Sun, 23 Jun 2019 10:11:10 +0300 > From: Sameeh Jubran <sameehj@amazon.com> > > The current code of create_queues_with_size_backoff() allows the ring size > to become as small as ENA_MIN_RING_SIZE/2. This is a bug since we don't > want the queue ring to be smaller than ENA_MIN_RING_SIZE > > In this commit we change the loop's termination condition to look at the > queue size of the next iteration instead of that of the current one, > so that the minimal queue size again becomes ENA_MIN_RING_SIZE. > > Fixes: eece4d2ab9d2 ("net: ena: add ethtool function for changing io queue sizes") > > Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com> > Signed-off-by: Sameeh Jubran <sameehj@amazon.com> Applied, thank you.
diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c b/drivers/net/ethernet/amazon/ena/ena_netdev.c index b7865ee1d..20ec8ff03 100644 --- a/drivers/net/ethernet/amazon/ena/ena_netdev.c +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c @@ -1839,8 +1839,8 @@ err_setup_tx: if (cur_rx_ring_size >= cur_tx_ring_size) new_rx_ring_size = cur_rx_ring_size / 2; - if (cur_tx_ring_size < ENA_MIN_RING_SIZE || - cur_rx_ring_size < ENA_MIN_RING_SIZE) { + if (new_tx_ring_size < ENA_MIN_RING_SIZE || + new_rx_ring_size < ENA_MIN_RING_SIZE) { netif_err(adapter, ifup, adapter->netdev, "Queue creation failed with the smallest possible queue size of %d for both queues. Not retrying with smaller queues\n", ENA_MIN_RING_SIZE);