From nobody Mon Nov 02 18:42:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4jJLD22fdBz6yBvQ for ; Mon, 02 Nov 2026 18:42:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jJLD171rMz4Mf4 for ; Mon, 02 Nov 2026 18:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793644946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BY9LwYJh/GWs40x2TzoV0ZxMFm4tWtChCjWN9iI2W8k=; b=yjJNHmUcWv+NVbQhZcRe+lQBkjs8aaGrH1Q6tQbW8MsvdvHNfUDDwqiyNeZYQ+n48L4oK8 pDOPNnPLpah9pY6T363NDquiD1x6MHnLYVbf9jcaY/h6EqvP+mzyZpnp1oRI0GHw5dkTdi FSNRX8hy5CMDb752kWS8NE5Ie13zYjESRw6KcE1sTGKlqfHObkSk4BAnunadNKAlDTfw13 vIErqeM5a/9EXVu/P7+Jz/TLYIGgFcr33A8nnG3smFnyfWkVN3vUJLnBMMIqPWDzEqVTLO K9d/TwqK0hlJxhYuJIjw0cNk2zHIKnqN9sBsgL2rKeUR9Dr2gj0BDApdrCy5iQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793644946; b=lZVwAEqCIUs0FQ5GWD9NDXpxDAjaePG2+qphH1xXG3TdT2er3w+P9piBmWp6TCKRX9AasD 18hCdT4SBcgqQEvoR6Q1Nb4wH817do2nSv0/EkMFVhPGpY6PC/nvFArZjcc7r5U6zZr8O9 Z3+vBU1BluZGNG/ny2O9/TXYhz2NmyL3qinZ3OxECOLJI9l0nbTko4gkk8VWzpwzx+dl2i 6iuFsH7a7nlA94Ph+6Etl96IH1PT50vhKPVqZEO2We1I3MQlEA7ebiJeOgHoG7SGq5J1Fh BGC/zjO9W9o/6Rvv4XrHll/PjXJQfwFk2fiaF8MINuc9aJfJ4gEoix4wn9rBew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793644946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BY9LwYJh/GWs40x2TzoV0ZxMFm4tWtChCjWN9iI2W8k=; b=NFqFWoD3SL1xpSuCxaQH+lBlOp2bAC3nF9WnLinDXWHC/zfNmgCwWfnaH3NZw1TNd3ekd/ l82gEMkw8dEPxDO2B/DKW4/BnmwAqm5nadratQQP+ghAoYNRPIsRz16mnqvRGZXiEtrINn herCge3nK89vazQzwzF5S+exkgDVi+jamw+n25BaSOxzOhBZ3P5SfG8LUDGAINuf92zjQE thurLmZSlYewgRIw9v8GQYansVvs95mioJ+jxDe8fqGPySEI2K1o1fZ3fdsAg//m4Crn4u 0Vp7R3IKkUTmKPNAJHgYWnmT/VotziFSVfMM9hK4RQ3jQkH3aDj+d/Q8e7npYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jJLD15jYTzxrL for ; Mon, 02 Nov 2026 18:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30ab7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 02 Nov 2026 18:42:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Arthur Kiyanovski From: Arthur Kiyanovski Subject: git: 8aea65565291 - main - ena: Set ENA_FLAG_RSS_ACTIVE only when RSS is really configured List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: Commit messages for the main branch of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8aea6556529159d133aba66f25a2ec26aa47dc4c Auto-Submitted: auto-generated Date: Mon, 02 Nov 2026 18:42:25 +0000 Message-Id: <6ae8d991.30ab7.4291f7cb@gitrepo.freebsd.org> The branch main has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=8aea6556529159d133aba66f25a2ec26aa47dc4c commit 8aea6556529159d133aba66f25a2ec26aa47dc4c Author: Arthur Kiyanovski AuthorDate: 2026-10-30 01:38:44 +0000 Commit: Arthur Kiyanovski CommitDate: 2026-11-02 18:31:51 +0000 ena: Set ENA_FLAG_RSS_ACTIVE only when RSS is really configured If the device does not report support for the RSS indirection table, ena_rss_init_default() destroys the RSS state and returns EOPNOTSUPP. ena_rss_configure() treats EOPNOTSUPP as success and returns 0, and ena_up_complete() sets ENA_FLAG_RSS_ACTIVE on any 0 return. Reading dev.ena.N.rss.key at this point causes kernel panic. Every current device reports the indirection table, so reaching this needs a device that is broken or misreporting. The SYSINIT removed by a6205766b300 called ena_rss_init_default() directly, saw the EOPNOTSUPP and cleared the flag. Routing the decision through ena_rss_configure(), which hides EOPNOTSUPP, lost that. Move the flag set into ena_rss_configure(), which can see whether a table exists, and clear it when tbl_log_size is 0. Reviewed by: cperciva Fixes: a6205766b300 ("ena: Fix RSS not working after driver reload") MFC after: 3 days Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D61058 --- sys/dev/ena/ena.c | 1 - sys/dev/ena/ena_rss.c | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 2d43456f3e74..952281f87983 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -2140,7 +2140,6 @@ ena_up_complete(struct ena_adapter *adapter) "Failed to configure RSS\n"); return (rc); } - ENA_FLAG_SET_ATOMIC(ENA_FLAG_RSS_ACTIVE, adapter); rc = ena_change_mtu(adapter->ifp, if_getmtu(adapter->ifp)); if (unlikely(rc != 0)) diff --git a/sys/dev/ena/ena_rss.c b/sys/dev/ena/ena_rss.c index 746db69970ca..2e95797ea54c 100644 --- a/sys/dev/ena/ena_rss.c +++ b/sys/dev/ena/ena_rss.c @@ -180,6 +180,11 @@ ena_rss_configure(struct ena_adapter *adapter) } } + if (ena_dev->rss.tbl_log_size == 0) { + ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_RSS_ACTIVE, adapter); + return (0); + } + /* Set indirect table */ rc = ena_com_indirect_table_set(ena_dev); if (unlikely((rc != 0) && (rc != EOPNOTSUPP))) @@ -195,6 +200,8 @@ ena_rss_configure(struct ena_adapter *adapter) if (unlikely((rc != 0) && (rc != EOPNOTSUPP))) return (rc); + ENA_FLAG_SET_ATOMIC(ENA_FLAG_RSS_ACTIVE, adapter); + return (0); }