From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EAAE730FC31 for ; Thu, 22 Jan 2026 00:51:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769043092; cv=none; b=JO/QufIDr+CxvnAoQP2YSa3eUbhpl8/JLObI8+2dh0sSPwlYms53VWMTFBXYFsk1yixJLr5lfxYL5rhkteE26x+S3aJiuFD6/uABP46MaPUBESwPmvNAa/UsdVIiM063Zn1z2j/Dgru21wEde8Z5eqaEnIj8LVQLe/f8a0QstGs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769043092; c=relaxed/simple; bh=eEDHiu3G8QbRA4TDIDw3ynHovjfWsrgribiT3x6Mu7s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RN1crmZHLehgjWdWz+v6QVQIQWNm5bCH4DPdkZHs5Bvo3BH36OjPpA3OCIrk5Kcl8zCrPKC2AZn244cIL6IZEmB/EmCWoiQo83C1ATyUHh9O7hcjQZN+MuaTMWOdZ17C9K0PpINv2itf2ZWwzik9UT0x+gu/vf0e3JQNqclmiWo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=p1AHe8v0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="p1AHe8v0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0365CC4AF09; Thu, 22 Jan 2026 00:51:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769043091; bh=eEDHiu3G8QbRA4TDIDw3ynHovjfWsrgribiT3x6Mu7s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p1AHe8v0Npue4AekI6LI1JV8egCEdLZEQfQrRYnk+0Q32Hev3lNp+do//joItOQpP w8QgQnAbXTfRjtxlLennQmnouKePU6grKMd41JAOiP5vDeBfUtOfkb0ASS+kkDiLDO S66XqayOec6mX79ycEeXL2W4ySzXG04oiLkD3xP9AfRxmWXx2u7kba5U9VCJ3BQ8tt /QMe/bk0nmKw65q4jnI6D1heLgpggt4ILnW8BdQcX5HH6/YNFhvqhRVtACotMsJj4f V/iLGjh3X21wLMjpFhRE/wYe1piKSZ/3EXiyM+Qg5zmJ3QUAgvZgYEzQsGV1sP0aL8 E7yNax08s4J9Q== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org, michael.chan@broadcom.com, sdf@fomichev.me, almasrymina@google.com, dtatulea@nvidia.com, asml.silence@gmail.com, dw@davidwei.uk, daniel@iogearbox.net, Jakub Kicinski Subject: [PATCH net-next 1/6] eth: bnxt: always set the queue mgmt ops Date: Wed, 21 Jan 2026 16:51:08 -0800 Message-ID: <20260122005113.2476634-2-kuba@kernel.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122005113.2476634-1-kuba@kernel.org> References: <20260122005113.2476634-1-kuba@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Core provides a centralized callback for validating per-queue settings but the callback is part of the queue management ops. Having the ops conditionally set complicates the parts of the driver which could otherwise lean on the core to feed it the correct settings. Always set the queue ops, but provide no restart-related callbacks if queue ops are not supported by the device. This should maintain current behavior, the check in netdev_rx_queue_restart() looks both at op struct and individual ops. Signed-off-by: Jakub Kicinski -- v1: - reflow code - typo fix rfc: https://lore.kernel.org/20250421222827.283737-15-kuba@kernel.org --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 0e0c88c122f8..0b95100a7c36 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -16314,6 +16314,9 @@ static const struct netdev_queue_mgmt_ops bnxt_queue_mgmt_ops = { .supported_params = QCFG_RX_PAGE_SIZE, }; +static const struct netdev_queue_mgmt_ops bnxt_queue_mgmt_ops_unsupp = { +}; + static void bnxt_remove_one(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); @@ -16966,9 +16969,10 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) if (BNXT_SUPPORTS_NTUPLE_VNIC(bp)) bp->rss_cap |= BNXT_RSS_CAP_MULTI_RSS_CTX; + + dev->queue_mgmt_ops = &bnxt_queue_mgmt_ops_unsupp; if (BNXT_SUPPORTS_QUEUE_API(bp)) dev->queue_mgmt_ops = &bnxt_queue_mgmt_ops; - dev->request_ops_lock = true; dev->netmem_tx = true; rc = register_netdev(dev); -- 2.52.0