<div dir="ltr"><div>This change is already added as part of <a href="https://git.dpdk.org/next/dpdk-next-net-brcm/commit/?id=c2b39669f47956d015d490dfa6e405d4272c08d2">https://git.dpdk.org/next/dpdk-next-net-brcm/commit/?id=c2b39669f47956d015d490dfa6e405d4272c08d2</a></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Sep 15, 2026 at 4:55 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 alarm timeout is calculated by multiplying wait_msec by<br>
US_PER_MS before passing the value to rte_eal_alarm_set().<br>
<br>
Since wait_msec is a uint32_t, the multiplication may overflow<br>
when performed using 32-bit arithmetic for large timeout values.<br>
<br>
Cast wait_msec to uint64_t to ensure the multiplication is<br>
performed in 64-bit arithmetic.<br>
<br>
Signed-off-by: Sokolov Evgeny <<a href="mailto:Evgeny.Sokolov@infotecs.ru" target="_blank">Evgeny.Sokolov@infotecs.ru</a>><br>
Cc: <a href="mailto:stable@dpdk.org" target="_blank">stable@dpdk.org</a><br>
---<br>
 drivers/net/bnxt/bnxt_ethdev.c | 6 +++---<br>
 1 file changed, 3 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c<br>
index a2429561b9..16a65f9770 100644<br>
--- a/drivers/net/bnxt/bnxt_ethdev.c<br>
+++ b/drivers/net/bnxt/bnxt_ethdev.c<br>
@@ -4855,7 +4855,7 @@ static void bnxt_check_fw_health(void *arg)<br>
<br>
        info->last_reset_counter = val;<br>
<br>
-       rte_eal_alarm_set(US_PER_MS * info->driver_polling_freq,<br>
+       rte_eal_alarm_set(US_PER_MS * (uint64_t)info->driver_polling_freq,<br>
                          bnxt_check_fw_health, (void *)bp);<br>
<br>
        return;<br>
@@ -4877,7 +4877,7 @@ static void bnxt_check_fw_health(void *arg)<br>
        else<br>
                wait_msec = info->normal_func_wait_period;<br>
<br>
-       rte_eal_alarm_set(US_PER_MS * wait_msec,<br>
+       rte_eal_alarm_set(US_PER_MS * (uint64_t)wait_msec,<br>
                          bnxt_fw_reset_cb, (void *)bp);<br>
 }<br>
<br>
@@ -4895,7 +4895,7 @@ void bnxt_schedule_fw_health_check(struct bnxt *bp)<br>
<br>
        polling_freq = bp->recovery_info->driver_polling_freq;<br>
<br>
-       rte_eal_alarm_set(US_PER_MS * polling_freq,<br>
+       rte_eal_alarm_set(US_PER_MS * (uint64_t)polling_freq,<br>
                          bnxt_check_fw_health, (void *)bp);<br>
        bp->flags |= BNXT_FLAG_FW_HEALTH_CHECK_SCHEDULED;<br>
<br>
-- <br>
2.30.2<br>
<br>
</blockquote></div></div>