From: Jian Shen <shenjia...@huawei.com>

An error loop index was used while querying statistics data
of tqps, which may cause call trace.

Fixes: 496d03e960ae ("net: hns3: Add Ethtool support to HNS3 driver")
Signed-off-by: Jian Shen <shenjia...@huawei.com>
Signed-off-by: Peng Li <lipeng...@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c 
b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
index c96ef40..9cca33c 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
@@ -458,13 +458,13 @@ static u64 *hns3_get_stats_tqps(struct hnae3_handle 
*handle, u64 *data)
        struct hnae3_knic_private_info *kinfo = &handle->kinfo;
        struct hns3_enet_ring *ring;
        u8 *stat;
-       u32 i;
+       int i, j;
 
        /* get stats for Tx */
        for (i = 0; i < kinfo->num_tqps; i++) {
                ring = nic_priv->ring_data[i].ring;
-               for (i = 0; i < HNS3_TXQ_STATS_COUNT; i++) {
-                       stat = (u8 *)ring + hns3_txq_stats[i].stats_offset;
+               for (j = 0; j < HNS3_TXQ_STATS_COUNT; j++) {
+                       stat = (u8 *)ring + hns3_txq_stats[j].stats_offset;
                        *data++ = *(u64 *)stat;
                }
        }
@@ -472,8 +472,8 @@ static u64 *hns3_get_stats_tqps(struct hnae3_handle 
*handle, u64 *data)
        /* get stats for Rx */
        for (i = 0; i < kinfo->num_tqps; i++) {
                ring = nic_priv->ring_data[i + kinfo->num_tqps].ring;
-               for (i = 0; i < HNS3_RXQ_STATS_COUNT; i++) {
-                       stat = (u8 *)ring + hns3_rxq_stats[i].stats_offset;
+               for (j = 0; j < HNS3_RXQ_STATS_COUNT; j++) {
+                       stat = (u8 *)ring + hns3_rxq_stats[j].stats_offset;
                        *data++ = *(u64 *)stat;
                }
        }
-- 
1.9.1

Reply via email to