From: Dana Vardi <da...@marvell.com>

ethtool_cmd_speed return uint32 and after the arithmetic
operation in mrvl_get_max_rate func the result is out of range.

Fixes: 429c394417 ("net/mvpp2: support traffic manager")
Cc: t...@semihalf.com
Cc: sta...@dpdk.org

Signed-off-by: Dana Vardi <da...@marvell.com>
Reviewed-by: Liron Himi <lir...@marvell.com>
---
 drivers/net/mvpp2/mrvl_tm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mvpp2/mrvl_tm.c b/drivers/net/mvpp2/mrvl_tm.c
index a3150328d9..4d75f8e915 100644
--- a/drivers/net/mvpp2/mrvl_tm.c
+++ b/drivers/net/mvpp2/mrvl_tm.c
@@ -57,7 +57,7 @@ mrvl_get_max_rate(struct rte_eth_dev *dev, uint64_t *rate)
 
        close(fd);
 
-       *rate = ethtool_cmd_speed(&edata) * 1000 * 1000 / 8;
+       *rate = (uint64_t)ethtool_cmd_speed(&edata) * 1000 * 1000 / 8;
 
        return 0;
 }
-- 
2.17.1

Reply via email to