Message ID | 20210824000158.1928482-2-anthony.l.nguyen@intel.com |
---|---|
State | Accepted |
Delegated to: | Anthony Nguyen |
Headers | show |
Series | implement support for PTP on E822 hardware | expand |
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Tony Nguyen > Sent: Tuesday, August 24, 2021 5:32 AM > To: intel-wired-lan@lists.osuosl.org > Subject: [Intel-wired-lan] [next-queue v4 01/13] ice: fix Tx queue iteration > for Tx timestamp enablement > > From: Jacob Keller <jacob.e.keller@intel.com> > > 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> > --- > drivers/net/ethernet/intel/ice/ice_ptp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c index 9e3ddb9b8b51..f54148fb0e21 100644 --- a/drivers/net/ethernet/intel/ice/ice_ptp.c +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c @@ -22,7 +22,7 @@ static void ice_set_tx_tstamp(struct ice_pf *pf, bool on) return; /* Set the timestamp enable flag for all the Tx rings */ - ice_for_each_rxq(vsi, i) { + ice_for_each_txq(vsi, i) { if (!vsi->tx_rings[i]) continue; vsi->tx_rings[i]->ptp_tx = on;