From patchwork Tue Dec 12 00:51:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 13488258 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="GB8MU0fv" Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 58DC999 for ; Mon, 11 Dec 2023 16:51:48 -0800 (PST) Received: by mail-qt1-x82f.google.com with SMTP id d75a77b69052e-425c9cd7dd2so7291321cf.2 for ; Mon, 11 Dec 2023 16:51:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1702342307; x=1702947107; 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=zhmud6rNG2vA24AXXNtsQgp6NcXH4CphmkbZl0Gzdcw=; b=GB8MU0fvCRrvlbOlU5z5v1GhLyGu0vxa2pFTTXdfkpASJjH9qTkRqe7vFip/pXFe3Q 3BFoiq+azS36mnehsUnqV16AVKBZ8iYWYuUpQZw0cF8EkL82y2M8ryeZMuiob/LaXF+/ skSdzwIJyfbJRY0UIGBEqwUmsTFevieMKqxhM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702342307; x=1702947107; 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=zhmud6rNG2vA24AXXNtsQgp6NcXH4CphmkbZl0Gzdcw=; b=IUZpSA+Fh+8dsG3muGWoxk9P8uPXGIO6clKsaND8JnYSXWEx/sjv7SQn7u8hzIUP6I bGj7qNm9W9i72jCk8bwQV0HCeek1KbNrQR12FCAoIWoxWO/5jthlNY9leiEl9b79FMG5 cQU+pULYd7MxP7ws+lCUhLA6nnbBOmPD6VDUGzndSQ+EgPBAZED0PDhU/xeogMzUouvw Pg8vn8oCuqA+OKrHOuhdn9RPL4+855HNNPQ/iajDzqLdM8v/qYqlGLK6+PMM4CWfN42U hlMSfAaB74vFpFHl61BtQBe4/CbzO1VjCFMZv6O5f0oKNaSfQPrZ8xOS+ercfstSdsz8 RAQA== X-Gm-Message-State: AOJu0Yw0pgGw/7D3BKrubOlh2lIs9m96FOXhDnERyBISIc06pusX01R+ B/xgl+xIAcpt5eJdXWD2Cln51fRx7RyBaETzjeU= X-Google-Smtp-Source: AGHT+IGPq+Xlynhc914qVmk2lubMaXXxG4nMzNn3kfu2io3uH3UHnO1rwm0h5QkeJUO1stGynILXyg== X-Received: by 2002:a05:622a:1792:b0:425:85eb:c2b1 with SMTP id s18-20020a05622a179200b0042585ebc2b1mr4740281qtk.15.1702342307361; Mon, 11 Dec 2023 16:51:47 -0800 (PST) Received: from lvnvda5233.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id r5-20020ac87945000000b00423ea1b31b3sm3619664qtt.66.2023.12.11.16.51.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Dec 2023 16:51:47 -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 Subject: [PATCH net-next 03/13] bnxt_en: Fix TX ring indexing logic Date: Mon, 11 Dec 2023 16:51:12 -0800 Message-Id: <20231212005122.2401-4-michael.chan@broadcom.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20231212005122.2401-1-michael.chan@broadcom.com> References: <20231212005122.2401-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 Two spots were missed when modifying the TX ring indexing logic. The use of unmasked TX index in bnxt_tx_int() will cause unnecessary __bnxt_tx_int() calls. The same issue in bnxt_tx_int_xdp() can result in illegal array index. Fixes: 6d1add95536b ("bnxt_en: Modify TX ring indexing logic.") Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 114beaa95e78..83a47feaf869 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -781,7 +781,7 @@ static void bnxt_tx_int(struct bnxt *bp, struct bnxt_napi *bnapi, int budget) int i; bnxt_for_each_napi_tx(i, bnapi, txr) { - if (txr->tx_hw_cons != txr->tx_cons) + if (txr->tx_hw_cons != RING_TX(bp, txr->tx_cons)) __bnxt_tx_int(bp, txr, budget); } bnapi->events &= ~BNXT_TX_CMP_EVENT; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c index 4791f6a14e55..037624f17aea 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c @@ -173,7 +173,7 @@ void bnxt_tx_int_xdp(struct bnxt *bp, struct bnxt_napi *bnapi, int budget) bnapi->events &= ~BNXT_TX_CMP_EVENT; WRITE_ONCE(txr->tx_cons, tx_cons); if (rx_doorbell_needed) { - tx_buf = &txr->tx_buf_ring[last_tx_cons]; + tx_buf = &txr->tx_buf_ring[RING_TX(bp, last_tx_cons)]; bnxt_db_write(bp, &rxr->rx_db, tx_buf->rx_prod); }