linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hariprasad Kelam <hkelam@marvell.com>
To: <netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: <kuba@kernel.org>, <davem@davemloft.net>,
	<willemdebruijn.kernel@gmail.com>, <andrew@lunn.ch>,
	<sgoutham@marvell.com>, <lcherian@marvell.com>,
	<gakula@marvell.com>, <jerinj@marvell.com>, <sbhatta@marvell.com>,
	<hkelam@marvell.com>
Subject: [net PATCH v2 7/8] octeontx2-af: fix infinite loop in unmapping NPC counter
Date: Thu, 18 Mar 2021 19:45:48 +0530	[thread overview]
Message-ID: <20210318141549.2622-8-hkelam@marvell.com> (raw)
In-Reply-To: <20210318141549.2622-1-hkelam@marvell.com>

unmapping npc counter works in a way by traversing all mcam
entries to find which mcam rule is associated with counter.
But loop cursor variable 'entry' is not incremented before
checking next mcam entry which resulting in infinite loop.

This in turn hogs the kworker thread forever and no other
mbox message is processed by AF driver after that.
Fix this by updating entry value before checking next
mcam entry.

Fixes: a958dd59f9ce ("octeontx2-af: Map or unmap NPC MCAM entry and counter")
Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
Signed-off-by: Sunil Kovvuri Goutham <sgoutham@marvell.com>
---
 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
index 04bb0803a5c..0bd49c7080a 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
@@ -2490,10 +2490,10 @@ int rvu_mbox_handler_npc_mcam_free_counter(struct rvu *rvu,
 		index = find_next_bit(mcam->bmap, mcam->bmap_entries, entry);
 		if (index >= mcam->bmap_entries)
 			break;
+		entry = index + 1;
 		if (mcam->entry2cntr_map[index] != req->cntr)
 			continue;
 
-		entry = index + 1;
 		npc_unmap_mcam_entry_and_cntr(rvu, mcam, blkaddr,
 					      index, req->cntr);
 	}
-- 
2.17.1


  parent reply	other threads:[~2021-03-18 14:17 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-18 14:15 [net PATCH v2 0/8] octeontx2: miscellaneous fixes Hariprasad Kelam
2021-03-18 14:15 ` [net PATCH v2 1/8] octeontx2-pf: Do not modify number of rules Hariprasad Kelam
2021-03-18 14:15 ` [net PATCH v2 2/8] octeontx2-af: Formatting debugfs entry rsrc_alloc Hariprasad Kelam
2021-03-18 14:15 ` [net PATCH v2 3/8] octeontx2-af: Remove TOS field from MKEX TX Hariprasad Kelam
2021-03-18 14:15 ` [net PATCH v2 4/8] octeontx2-af: Return correct CGX RX fifo size Hariprasad Kelam
2021-03-18 14:15 ` [net PATCH v2 5/8] octeontx2-af: Fix irq free in rvu teardown Hariprasad Kelam
2021-03-18 14:15 ` [net PATCH v2 6/8] octeontx2-pf: Clear RSS enable flag on interace down Hariprasad Kelam
2021-03-18 14:15 ` Hariprasad Kelam [this message]
2021-03-18 14:15 ` [net PATCH v2 8/8] octeontx2-af: Fix uninitialized variable warning Hariprasad Kelam
2021-03-18 21:30 ` [net PATCH v2 0/8] octeontx2: miscellaneous fixes patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210318141549.2622-8-hkelam@marvell.com \
    --to=hkelam@marvell.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=gakula@marvell.com \
    --cc=jerinj@marvell.com \
    --cc=kuba@kernel.org \
    --cc=lcherian@marvell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sbhatta@marvell.com \
    --cc=sgoutham@marvell.com \
    --cc=willemdebruijn.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).