<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Sep 15, 2026 at 4:48 AM Evgeny Sokolov <<a href="mailto:Evgeny.Sokolov@infotecs.ru">Evgeny.Sokolov@infotecs.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Sokolov Evgeny <<a href="mailto:Evgeny.Sokolov@infotecs.ru" target="_blank">Evgeny.Sokolov@infotecs.ru</a>><br>
<br>
The MPC channel enable bitmap is cleared before it is used to build<br>
the channel mask. As a result, no channels are selected for disable.<br>
<br>
Preserve the bitmap before clearing it and use the saved value when<br>
building the channel mask.<br>
<br>
Found by InfoTeCS on behalf of Linux Verification Center (<a href="http://linuxtesting.org" rel="noreferrer" target="_blank">linuxtesting.org</a>) with SVACE.<br>
<br>
Fixes: 80317ff6adf ("net/bnxt/tf_core: support Thor2")<br>
Cc: <a href="mailto:stable@dpdk.org" target="_blank">stable@dpdk.org</a><br>
<br>
Signed-off-by: Sokolov Evgeny <<a href="mailto:Evgeny.Sokolov@infotecs.ru" target="_blank">Evgeny.Sokolov@infotecs.ru</a>><br>
---<br></blockquote><div><span style="font-family:Calibri;font-size:11pt;background-color:transparent">Acked-by: Kishore
Padmanabha <<a href="mailto:kishore.padmanabha@broadcom.com">kishore.padmanabha@broadcom.com</a>></span></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
drivers/net/bnxt/bnxt_mpc.c | 4 +++-<br>
1 file changed, 3 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/drivers/net/bnxt/bnxt_mpc.c b/drivers/net/bnxt/bnxt_mpc.c<br>
index d77f9dd308..1398321ca7 100644<br>
--- a/drivers/net/bnxt/bnxt_mpc.c<br>
+++ b/drivers/net/bnxt/bnxt_mpc.c<br>
@@ -48,18 +48,20 @@ static int bnxt_mpc_chnls_enable(struct bnxt *bp)<br>
static int bnxt_mpc_chnls_disable(struct bnxt *bp)<br>
{<br>
struct bnxt_mpc *mpc = bp->mpc;<br>
+ uint8_t mpc_chnl_flg;<br>
uint8_t mpc_chnl_msk = 0;<br>
int i, rc;<br>
<br>
if (!mpc)<br>
return -EINVAL;<br>
+ mpc_chnl_flg = mpc->mpc_chnls_en;<br>
mpc->mpc_chnls_en = 0;<br>
<br>
if (!BNXT_PF(bp))<br>
return 0;<br>
<br>
for (i = 0; i < BNXT_MPC_CHNL_MAX; i++) {<br>
- if (!(mpc->mpc_chnls_en & (1 << i)))<br>
+ if (!(mpc_chnl_flg & (1 << i)))<br>
continue;<br>
mpc_chnl_msk |= (1 << i);<br>
}<br>
-- <br>
2.30.2<br>
<br>
</blockquote></div></div>