qede: Prevent index problems in loopback test
authorSudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
Mon, 20 Feb 2017 20:43:37 +0000 (22:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Oct 2017 15:21:36 +0000 (17:21 +0200)
[ Upstream commit afe981d664aeeebc8d1bcbd7d2070b5432edaecb ]

Driver currently utilizes the same loop variable in two
nested loops.

Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/qlogic/qede/qede_ethtool.c

index 7567cc464b88b6b04ba15c6ceb7f4e6ace759af8..634e4149af22f0dc11ba4b078e8a6c6a074e3a85 100644 (file)
@@ -1221,7 +1221,7 @@ static int qede_selftest_receive_traffic(struct qede_dev *edev)
        struct qede_rx_queue *rxq = NULL;
        struct sw_rx_data *sw_rx_data;
        union eth_rx_cqe *cqe;
-       int i, rc = 0;
+       int i, iter, rc = 0;
        u8 *data_ptr;
 
        for_each_queue(i) {
@@ -1240,7 +1240,7 @@ static int qede_selftest_receive_traffic(struct qede_dev *edev)
         * enabled. This is because the queue 0 is configured as the default
         * queue and that the loopback traffic is not IP.
         */
-       for (i = 0; i < QEDE_SELFTEST_POLL_COUNT; i++) {
+       for (iter = 0; iter < QEDE_SELFTEST_POLL_COUNT; iter++) {
                if (!qede_has_rx_work(rxq)) {
                        usleep_range(100, 200);
                        continue;
@@ -1287,7 +1287,7 @@ static int qede_selftest_receive_traffic(struct qede_dev *edev)
                qed_chain_recycle_consumed(&rxq->rx_comp_ring);
        }
 
-       if (i == QEDE_SELFTEST_POLL_COUNT) {
+       if (iter == QEDE_SELFTEST_POLL_COUNT) {
                DP_NOTICE(edev, "Failed to receive the traffic\n");
                return -1;
        }