From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oo1-f100.google.com (mail-oo1-f100.google.com [209.85.161.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1DC10314B73 for ; Tue, 14 Apr 2026 16:18:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.100 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776183521; cv=none; b=ZZR452RKaPT52Sh9/0nqt8g9BuCtON7DNk2nCqu/ZlgGSr8e2zK1o7M+0kQqjjJbfiSCDwqB45UuOUfHMnkQqYDWo0fIBsPE61MwXDwG5wmRDN82DS2Ab4GDFFR+QAwVCvrPRs0LBad4XwEnIOwQ5MKb1sX7tTGRPn4Em58EHj0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776183521; c=relaxed/simple; bh=gVUdKEjON4GA1G9b6SufP7uAK/hQYTLytLaP+RLUQYQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tAj6N2RhMiVxjD2kF2PJTCksjuJA9IZQZTq4YUA/4EY9b29jLN8Ri6GRkiw4AWaktwfaVYWLct9GTWiScGv167xVlCiKQEeKZCDznHWYjc1iT/KDDchFPT7gtnZXSoEWNYQH5LPc9InzjhSzOf//5mQQy+FX6tonrkoMPRNhkWo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=WWlvS0sp; arc=none smtp.client-ip=209.85.161.100 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="WWlvS0sp" Received: by mail-oo1-f100.google.com with SMTP id 006d021491bc7-662f30d3f1fso3284361eaf.1 for ; Tue, 14 Apr 2026 09:18:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776183519; x=1776788319; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JqUaI1gG2i65OAenHNZpqv4pjVB97JUWDtLoDJL/AVI=; b=Miql+Oq2/ngOWIoVJVgUg94BiRj8drMNNzXyQGap1g/C2gX676U4ygHOr2sNHaWUHm V9BgO94Aao4/CMkomuQWe07CbbLI1WXvL6HClI2dcG+rhL9/wzDLcwTXKfM/RSu68ApK oij0iUVnZudN5EjnE5q/Sndo2GCsOHPIGyqHR6MPSn2RpEPR6Sl/Kd5VwnSbqdO50F1D 4FSeKFwFVUNe+mCXgRhW2p2rRKfcGwFSlUfXOc+qrzEZSRzYGWfg7oUi3r7lYGrVXXoN W9Xr/Rt7P2ZIgINiU7OI0rhN2tSdPBCR94LmGzr+rYPcdJb2nfj1RLXGmZ9UltKUrXmg G0fg== X-Forwarded-Encrypted: i=1; AFNElJ89p2MKsV3LEJy7idXwXZd/rdfWty6kBhQBsj7oD/5hCNwYnJM4VZ1KIHpMIUAYMmLSzdhoVolhqikb+gk=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/dAQ5jeJU+kADcyUCtSv9UZgqYqI1AHHm+GW4fYNcS91HAMQ/ kSng3qdj1Gpcu0ibLvKE/e1nmmN6VObcI1lpiPeI3eTfGOEI8ReHJJ9y2l/Avk2Mfso0+M14URB jtkZ3pP0/uyOmB97xEiXHCCV8MuvsX/aFLGzWk8NfzS4gl/9KTNrIIk6nodl2flIslptS1pK1K5 kDsWdaG/MxtHJyEGOxcj3pLhPf9NTty9qZHegtrLZ/xsUkDqdbgbwroAAi+lcJVt4H+UGfOxEU6 74WSsRe1oNESDaBDA== X-Gm-Gg: AeBDiesETAIvMOBMedco3YB2vgvuOBNeYDo06aOr2047y2DJi+j4AaVwhljB1kBegRR +go4LXQwXN9MG7XSOXAcVJxaXcsfdSDEuZ+lbSWa7KlWeaiOECnPwPaTPyoNJyk7q3AMHWkkDTr UMbWOc6sRGsIaT9sETBW3Wmd96E++fR5homvPbxt2OWaf+8IamDypgwQKeWuomjSJ7N+BXKcV0T rF3Ue4GI6oBY0l5LcbvrUI8zwoGWrB1/y39Pn5LKsikGy1J0koaHkvnqHMGxbWCDSpmMOXnv/TT A4rOU4QAkqJGLFa/NdOpYAz5DZzfuGzaHfmjlTmRGxcXTgkUoTZd0N1idG4ZiNTzK2PaZ6YItaO GSCS9ajxVhceMeWRN2irvkVjNNDo51+rCrqlnSD85xtTwsFWUXJ4i5zUYWwqqWX9V3Bq7pEpLeN gy6GuD9UG6kbKsiz2ZM8nzV3fqZr72P9JGnRG8YLX3ps+nwBOS97AfPE0= X-Received: by 2002:a05:6820:6202:b0:692:7ac5:f8d1 with SMTP id 006d021491bc7-6927ac603e4mr429045eaf.1.1776183518985; Tue, 14 Apr 2026 09:18:38 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-24.dlp.protect.broadcom.com. [144.49.247.24]) by smtp-relay.gmail.com with ESMTPS id 006d021491bc7-68bc4c0dc6csm936080eaf.0.2026.04.14.09.18.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 14 Apr 2026 09:18:38 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-82f5baa5418so396310b3a.0 for ; Tue, 14 Apr 2026 09:18:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1776183517; x=1776788317; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JqUaI1gG2i65OAenHNZpqv4pjVB97JUWDtLoDJL/AVI=; b=WWlvS0spkenruSM3zrLOjAIbcf+gCVc/VNSd10uEq2YLw9bUJ3MILyzMmdwMT1uAz1 4MyxqP7cdrcjoUabFMOOCWXaR9DZsslWIkMJrIAb/1IO9xT2INq9WlZjga9QY+5qAKC+ ZTD7CNoGZ3nzz6N9y7c3Mlg6QBm8oJXfnsYsI= X-Forwarded-Encrypted: i=1; AFNElJ85aAi1sAtIdVEBMgqVJNMWzZMbDBFugEMbSq7ZzxRLSZFXSBSIp/Q/IEj2dnj7liCSLrQxZtxuIPcrU+A=@vger.kernel.org X-Received: by 2002:a05:6a21:32a1:b0:39b:b7cb:ee32 with SMTP id adf61e73a8af0-39fe46a2e79mr16518982637.24.1776183517530; Tue, 14 Apr 2026 09:18:37 -0700 (PDT) X-Received: by 2002:a05:6a21:32a1:b0:39b:b7cb:ee32 with SMTP id adf61e73a8af0-39fe46a2e79mr16518944637.24.1776183516960; Tue, 14 Apr 2026 09:18:36 -0700 (PDT) Received: from localhost.localdomain ([192.19.203.250]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c79219cbc21sm12042656a12.17.2026.04.14.09.18.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2026 09:18:36 -0700 (PDT) From: Vikas Gupta To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, vsrama-krishna.nemani@broadcom.com, bhargava.marreddy@broadcom.com, rajashekar.hudumula@broadcom.com, ajit.khaparde@broadcom.com, dharmender.garg@broadcom.com, rahul-rg.gupta@broadcom.com, Vikas Gupta Subject: [PATCH net 1/2] bnge: fix initial HWRM sequence Date: Tue, 14 Apr 2026 21:48:21 +0530 Message-ID: <20260414161822.742382-2-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20260414161822.742382-1-vikas.gupta@broadcom.com> References: <20260414161822.742382-1-vikas.gupta@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Firmware may not advertize correct resources if backing store is not enabled before resource information is queried. Fix the initial sequence of HWRMs so that driver gets capabilities and resource information correctly. Signed-off-by: Vikas Gupta Reviewed-by: Rahul Gupta --- .../net/ethernet/broadcom/bnge/bnge_core.c | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnge/bnge_core.c b/drivers/net/ethernet/broadcom/bnge/bnge_core.c index b4090283df0f..2b13c552a2f6 100644 --- a/drivers/net/ethernet/broadcom/bnge/bnge_core.c +++ b/drivers/net/ethernet/broadcom/bnge/bnge_core.c @@ -73,30 +73,39 @@ static int bnge_func_qcaps(struct bnge_dev *bd) return rc; } + rc = bnge_alloc_ctx_mem(bd); + if (rc) { + dev_err(bd->dev, "Failed to allocate ctx mem rc: %d\n", rc); + goto err_free_ctx_mem; + } + rc = bnge_hwrm_func_resc_qcaps(bd); if (rc) { dev_err(bd->dev, "query resc caps failure rc: %d\n", rc); - return rc; + goto err_free_ctx_mem; } rc = bnge_hwrm_func_qcfg(bd); if (rc) { dev_err(bd->dev, "query config failure rc: %d\n", rc); - return rc; + goto err_free_ctx_mem; } rc = bnge_hwrm_vnic_qcaps(bd); if (rc) { dev_err(bd->dev, "vnic caps failure rc: %d\n", rc); - return rc; + goto err_free_ctx_mem; } return 0; + +err_free_ctx_mem: + bnge_free_ctx_mem(bd); + return rc; } static void bnge_fw_unregister_dev(struct bnge_dev *bd) { - /* ctx mem free after unrgtr only */ bnge_hwrm_func_drv_unrgtr(bd); bnge_free_ctx_mem(bd); } @@ -132,32 +141,25 @@ static int bnge_fw_register_dev(struct bnge_dev *bd) bnge_hwrm_fw_set_time(bd); - rc = bnge_hwrm_func_drv_rgtr(bd); + /* Get the resources and configuration from firmware */ + rc = bnge_func_qcaps(bd); if (rc) { - dev_err(bd->dev, "Failed to rgtr with firmware rc: %d\n", rc); + dev_err(bd->dev, "Failed initial configuration rc: %d\n", rc); return rc; } - rc = bnge_alloc_ctx_mem(bd); + rc = bnge_hwrm_func_drv_rgtr(bd); if (rc) { - dev_err(bd->dev, "Failed to allocate ctx mem rc: %d\n", rc); - goto err_func_unrgtr; - } - - /* Get the resources and configuration from firmware */ - rc = bnge_func_qcaps(bd); - if (rc) { - dev_err(bd->dev, "Failed initial configuration rc: %d\n", rc); - rc = -ENODEV; - goto err_func_unrgtr; + dev_err(bd->dev, "Failed to rgtr with firmware rc: %d\n", rc); + goto err_free_ctx_mem; } bnge_set_dflt_rss_hash_type(bd); return 0; -err_func_unrgtr: - bnge_fw_unregister_dev(bd); +err_free_ctx_mem: + bnge_free_ctx_mem(bd); return rc; } -- 2.47.1