git: ccceb1729a6b - main - Revert "ena: Reinit RSS components during queue count change flow"

From: Arthur Kiyanovski <akiyano_at_FreeBSD.org>
Date: Mon, 02 Nov 2026 18:42:23 UTC
The branch main has been updated by akiyano:

URL: https://cgit.FreeBSD.org/src/commit/?id=ccceb1729a6bd82b8b293bc5ea61b863179a268e

commit ccceb1729a6bd82b8b293bc5ea61b863179a268e
Author:     Arthur Kiyanovski <akiyano@amazon.com>
AuthorDate: 2026-10-30 01:38:44 +0000
Commit:     Arthur Kiyanovski <akiyano@FreeBSD.org>
CommitDate: 2026-11-02 18:31:51 +0000

    Revert "ena: Reinit RSS components during queue count change flow"
    
    This reverts commit 2a27dd0076c5.
    
    Changing the IO queue count destroys the RSS table, and if this is done
    while the device is down a new table is not rebuilt until the next
    ena_up(). That leaves 2 problems in the meantime:
    1. A stale copy of the destroyed table is still returned via sysctl.
    2. Reading the destroyed key, or writing the table, panics.
    
    That commit addressed 1 by creating a new RSS table, so that sysctl
    returns a fresh default table with the new number of queues. It did not
    set out to fix 2, but the rebuild hid it by accident.
    
    The rebuilt table is the default round-robin one, wired to no queues and
    unusable: a write still fails, because programming the device needs the
    IO queues that only exist after ena_up(). ena_up() builds that same
    table anyway.
    
    Rebuilding also programs the device while no IO queues exist. When the
    queue count grows this fails with EINVAL; when it shrinks it succeeds
    and points the device at completion queues that ena_down() destroyed.
    
    The following commit addresses both issues properly.
    
    Reviewed by: cperciva
    MFC after: 3 days
    Sponsored by: Amazon, Inc.
    Differential Revision: https://reviews.freebsd.org/D61056
---
 sys/dev/ena/ena.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c
index 63743cbc9db2..74594fdb1496 100644
--- a/sys/dev/ena/ena.c
+++ b/sys/dev/ena/ena.c
@@ -1437,11 +1437,6 @@ ena_update_io_queue_nb(struct ena_adapter *adapter, uint32_t new_num)
 				    ENA_REGS_RESET_OS_TRIGGER);
 			}
 		}
-	} else {
-		/* Reconfigure RSS to reflect the new queue count.
-		 * When dev_was_up, this happens through ena_up().
-		 */
-		rc = ena_rss_configure(adapter);
 	}
 
 	return (rc);