From patchwork Thu Dec 7 00:05:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 13482499 X-Patchwork-Delegate: kuba@kernel.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="atDcRKWr" Received: from mail-qv1-xf29.google.com (mail-qv1-xf29.google.com [IPv6:2607:f8b0:4864:20::f29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5249B10DB for ; Wed, 6 Dec 2023 16:06:08 -0800 (PST) Received: by mail-qv1-xf29.google.com with SMTP id 6a1803df08f44-67adea83ea6so2632596d6.0 for ; Wed, 06 Dec 2023 16:06:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1701907567; x=1702512367; darn=vger.kernel.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=mnMYZMcQROc+cWcyaE5YvSy7ZKUmcJvq8PCnBZAB0SY=; b=atDcRKWrKSmDZgXUSPQS4u+aRzkrIn1yILhgQyGm+GPqfL4yK5x2qGXctz3qXTxMPQ iUNilTQTPuzUphx8bUk2CGhEjapcOxx7hZ8Z1TNzc3MQGTB2eiWOR+egVccR6S9kQEXj j5ONUFjUmbJUVXTf/30XYrdQm+ZzS7s5wC1Zs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701907567; x=1702512367; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mnMYZMcQROc+cWcyaE5YvSy7ZKUmcJvq8PCnBZAB0SY=; b=rjS0M0wteSRpij1R71NeWotfjIbyHhoU4v6JOJfX0iyXiva0A/wGof+K7w60nsk17g nNlAK5rEmA2wFeC9sfDQ8HezOapun9cNn8uaBfwtOo6zpxSFlINqsphFAx2Q+TlnZbvM LuohNkpRaewkJISl7imQSFdkn4eULG32hi3wE8QgRltuKkvBEgpMdZ7B61SEcODPVp05 4/r8f6z75JmTqSytd8Vl1KpX6dSsRS28FSsVhg0mbhjw7vWcZzbDlJVMbvA3S7L8aPMW CZ+rk+ntiXCy2I0O3ySo4mmQnRWS66WxeqbvKjVs/Vr4hcW/pnIQELWYQ3kOEyqulwvV ptYg== X-Gm-Message-State: AOJu0YxiVMsh59K121vG6P7unTbEOX/7lasG6aU09WP/KlkyboXhw2C3 4cjSKnICxqUCHeRl3nLrbyut2A== X-Google-Smtp-Source: AGHT+IHx8312fBcEIgwNclW3G3GFd3d287gsf/6yJVkLPEQSO+gOLbsiavCsIwjE7jUvPFKoPzIExQ== X-Received: by 2002:a05:6214:8ef:b0:67a:bfed:aaab with SMTP id dr15-20020a05621408ef00b0067abfedaaabmr1972562qvb.88.1701907566883; Wed, 06 Dec 2023 16:06:06 -0800 (PST) Received: from lvnvda5233.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id a11-20020a05620a102b00b0077d78afc513sm23091qkk.110.2023.12.06.16.06.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 Dec 2023 16:06:06 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, gospo@broadcom.com, Somnath Kotur , Kalesh AP , Ajit Khaparde , Andy Gospodarek Subject: [PATCH net v2 1/4] bnxt_en: Clear resource reservation during resume Date: Wed, 6 Dec 2023 16:05:48 -0800 Message-Id: <20231207000551.138584-2-michael.chan@broadcom.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20231207000551.138584-1-michael.chan@broadcom.com> References: <20231207000551.138584-1-michael.chan@broadcom.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Somnath Kotur We are issuing HWRM_FUNC_RESET cmd to reset the device including all reserved resources, but not clearing the reservations within the driver struct. As a result, when the driver re-initializes as part of resume, it believes that there is no need to do any resource reservation and goes ahead and tries to allocate rings which will eventually fail beyond a certain number pre-reserved by the firmware. Fixes: b4c66425771d ("bnxt_en: refactor bnxt_cancel_reservations()") Reviewed-by: Kalesh AP Reviewed-by: Ajit Khaparde Reviewed-by: Andy Gospodarek Signed-off-by: Somnath Kotur Signed-off-by: Michael Chan --- v2: Fix typo in SOB tag. --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index d0359b569afe..72f2fc983940 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -13940,6 +13940,8 @@ static int bnxt_resume(struct device *device) if (rc) goto resume_exit; + bnxt_clear_reservations(bp, true); + if (bnxt_hwrm_func_drv_rgtr(bp, NULL, 0, false)) { rc = -ENODEV; goto resume_exit;