Patch "mlxsw: pci: Set time stamp fields also when its type is MIRROR_UTC" has been added to the 6.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    mlxsw: pci: Set time stamp fields also when its type is MIRROR_UTC

to the 6.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mlxsw-pci-set-time-stamp-fields-also-when-its-type-i.patch
and it can be found in the queue-6.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 8ddf2a1788b9d8af87089e3499cdf2e4ffa72f47
Author: Danielle Ratson <danieller@xxxxxxxxxx>
Date:   Thu Aug 17 15:58:22 2023 +0200

    mlxsw: pci: Set time stamp fields also when its type is MIRROR_UTC
    
    [ Upstream commit bc2de151ab6ad0762a04563527ec42e54dde572a ]
    
    Currently, in Spectrum-2 and above, time stamps are extracted from the CQE
    into the time stamp fields in 'struct mlxsw_skb_cb', only when the CQE
    time stamp type is UTC. The time stamps are read directly from the CQE and
    software can get the time stamp in UTC format using CQEv2.
    
    From Spectrum-4, the time stamps that are read from the CQE are allowed
    to be also from MIRROR_UTC type.
    
    Therefore, we get a warning [1] from the driver that the time stamp fields
    were not set, when LLDP control packet is sent.
    
    Allow the time stamp type to be MIRROR_UTC and set the time stamp in this
    case as well.
    
    [1]
     WARNING: CPU: 11 PID: 0 at drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c:1409 mlxsw_sp2_ptp_hwtstamp_fill+0x1f/0x70 [mlxsw_spectrum]
    [...]
     Call Trace:
      <IRQ>
      mlxsw_sp2_ptp_receive+0x3c/0x80 [mlxsw_spectrum]
      mlxsw_core_skb_receive+0x119/0x190 [mlxsw_core]
      mlxsw_pci_cq_tasklet+0x3c9/0x780 [mlxsw_pci]
      tasklet_action_common.constprop.0+0x9f/0x110
      __do_softirq+0xbb/0x296
      irq_exit_rcu+0x79/0xa0
      common_interrupt+0x86/0xa0
      </IRQ>
      <TASK>
    
    Fixes: 4735402173e6 ("mlxsw: spectrum: Extend to support Spectrum-4 ASIC")
    Signed-off-by: Danielle Ratson <danieller@xxxxxxxxxx>
    Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxx>
    Signed-off-by: Petr Machata <petrm@xxxxxxxxxx>
    Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/bcef4d044ef608a4e258d33a7ec0ecd91f480db5.1692268427.git.petrm@xxxxxxxxxx
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/mellanox/mlxsw/pci.c b/drivers/net/ethernet/mellanox/mlxsw/pci.c
index c968309657dd1..51eea1f0529c8 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/pci.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/pci.c
@@ -517,11 +517,15 @@ static void mlxsw_pci_skb_cb_ts_set(struct mlxsw_pci *mlxsw_pci,
 				    struct sk_buff *skb,
 				    enum mlxsw_pci_cqe_v cqe_v, char *cqe)
 {
+	u8 ts_type;
+
 	if (cqe_v != MLXSW_PCI_CQE_V2)
 		return;
 
-	if (mlxsw_pci_cqe2_time_stamp_type_get(cqe) !=
-	    MLXSW_PCI_CQE_TIME_STAMP_TYPE_UTC)
+	ts_type = mlxsw_pci_cqe2_time_stamp_type_get(cqe);
+
+	if (ts_type != MLXSW_PCI_CQE_TIME_STAMP_TYPE_UTC &&
+	    ts_type != MLXSW_PCI_CQE_TIME_STAMP_TYPE_MIRROR_UTC)
 		return;
 
 	mlxsw_skb_cb(skb)->cqe_ts.sec = mlxsw_pci_cqe2_time_stamp_sec_get(cqe);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux