[PATCH v3 49/51] net/sxe2: use correct loop counter type for representor LSC
liujie5 at linkdatatechnology.com
liujie5 at linkdatatechnology.com
Wed Aug 26 10:58:24 CEST 2026
From: Jie Liu <liujie5 at linkdatatechnology.com>
The LSC propagation loop uses uint8_t vf_id as the loop counter while
adapter->repr_ctxt.nb_repr_vf is uint16_t. When more than 255 VFs are
present, vf_id wraps and the loop runs forever.
Use uint16_t for vf_id to match the nb_repr_vf type.
Cc: stable at dpdk.org
Cc: stephen at networkplumber.org
Signed-off-by: Jie Liu <liujie5 at linkdatatechnology.com>
---
drivers/net/sxe2/sxe2_irq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/sxe2/sxe2_irq.c b/drivers/net/sxe2/sxe2_irq.c
index 7fe500b229..4e5339e24b 100644
--- a/drivers/net/sxe2/sxe2_irq.c
+++ b/drivers/net/sxe2/sxe2_irq.c
@@ -79,7 +79,7 @@ static void sxe2_event_irq_common_handler(struct sxe2_adapter *adapter, uint64_t
struct rte_eth_dev *dev = &rte_eth_devices[adapter->dev_info.dev_data->port_id];
struct rte_eth_dev *repr_eth_dev;
struct sxe2_adapter *repr_adapter;
- uint8_t vf_id;
+ uint16_t vf_id;
if (oicr & RTE_BIT32(SXE2_COM_EC_LINK_CHG)) {
PMD_DEV_LOG_INFO(adapter, DRV, "OICR=0x%" PRIx64, oicr);
--
2.52.0
More information about the dev
mailing list