ice: fix Tx queue iteration for Tx timestamp enablement
authorJacob Keller <jacob.e.keller@intel.com>
Tue, 24 Aug 2021 00:01:46 +0000 (17:01 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 27 Aug 2021 15:38:55 +0000 (08:38 -0700)
commit84c5fb8c4264ec12ef9d21905c562d2297a0234e
tree170f5378c9bdf8a40ff6074d67547900f90d156b
parent5fe2a6b4344cbb2120d6d81e371b7ec8e75f03e2
ice: fix Tx queue iteration for Tx timestamp enablement

The driver accidentally copied the ice_for_each_rxq iterator when
implementing enablement of the ptp_tx bit for the Tx rings. We still
load the Tx rings and set the ptp_tx field, but we iterate over the
count of the num_rxq.

If the number of Tx and Rx queues differ, this could either cause
a buffer overrun when accessing the tx_rings list if num_txq is greater
than num_rxq, or it could cause us to fail to enable Tx timestamps for
some rings.

This was not noticed originally as we generally have the same number of
Tx and Rx queues.

Fixes: ea9b847cda64 ("ice: enable transmit timestamps for E810 devices")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_ptp.c