Index: if_mcx.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_mcx.c,v retrieving revision 1.71 diff -u -p -r1.71 if_mcx.c --- if_mcx.c 23 Jul 2020 01:24:53 -0000 1.71 +++ if_mcx.c 27 Nov 2020 06:40:12 -0000 @@ -1478,6 +1478,7 @@ struct mcx_cq_entry { uint32_t __reserved__[2]; uint32_t cq_byte_cnt; uint64_t cq_timestamp; +#define MCX_CQ_ENTRY_TIMESTAMP_MASK 0x7fffffffffffffffULL uint8_t cq_rx_drops; uint8_t cq_flow_tag[3]; uint16_t cq_wqe_count; @@ -6436,7 +6437,9 @@ mcx_process_rx(struct mcx_softc *sc, str #endif if (c->c_tdiff) { - uint64_t t = bemtoh64(&cqe->cq_timestamp) - c->c_timestamp; + uint64_t t = bemtoh64(&cqe->cq_timestamp); + t &= MCX_CQ_ENTRY_TIMESTAMP_MASK; + t -= c->c_timestamp; t *= c->c_udiff; t /= c->c_tdiff;