[net,v1] octeontx2-af: Fix start and end bit for scan config
Commit Message
for_each_set_bit_from() needs start bit as one bit prior
and end bit as one bit post position in the bit map
Fixes: 812103edf670 (octeontx2-af: Exact match scan from kex profile)
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Reviewed-by: Sunil Kovvuri Goutham <sgoutham@marvell.com>
---
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
@@ -593,9 +593,8 @@ static int npc_scan_kex(struct rvu *rvu, int blkaddr, u8 intf)
* exact match code.
*/
masked_cfg = cfg & NPC_EXACT_NIBBLE;
- bitnr = NPC_EXACT_NIBBLE_START;
- for_each_set_bit_from(bitnr, (unsigned long *)&masked_cfg,
- NPC_EXACT_NIBBLE_START) {
+ bitnr = NPC_EXACT_NIBBLE_START - 1;
+ for_each_set_bit_from(bitnr, (unsigned long *)&masked_cfg, NPC_EXACT_NIBBLE_END + 1) {
npc_scan_exact_result(mcam, bitnr, key_nibble, intf);
key_nibble++;
}