mirror of
git://nv-tegra.nvidia.com/kernel/nvethernetrm.git
synced 2025-12-22 09:12:10 +03:00
Issue:
Tx timestamp is not propagate to QNX OSD driver.
OSI tx completion routine check for txdone_pkt_cx
flags OSI_TXDONE_CX_TS_DELAYED which is missing.
In case of QNX OSD, PTP untagged TX packet
has LD and FD bit set for single descriptor
which is having valid mbuf.
In case of QNX OSD, ptp tagged packet have 2
separate descriptors. Valid mbuf is with descriptor
which has LD bit set.
Due to this OSD discard first descriptor data and
for last descriptor txdone_pkt_cxflags are not set.
Fix:
For TX timestamp, tx_swcx of last descriptor
should also set as
last_swcx->flags |= OSI_PKT_CX_PTP;
last_swcx->pktid = pkt_id;
so txdone_pkt_cx flags set for last descriptor
corresponds to tagged PTP tx packet.
Bug 4001072
Change-Id: Ie7e52b197ebfbc77c79d02a6e821b641f15707a4
Signed-off-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2868500
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>