From c0e467ab283f34ae85e7037ee4cc5e0050db3dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20W=C5=82ostowski?= <tomasz.wlostowski@cern.ch> Date: Tue, 21 May 2013 15:19:14 +0200 Subject: [PATCH] dev/minic.c: mark timed out TX timestamps as invalid Signed-off-by: Grzegorz Daniluk <grzegorz.daniluk@cern.ch> --- dev/minic.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/dev/minic.c b/dev/minic.c index da3ddc729..79c061ddb 100644 --- a/dev/minic.c +++ b/dev/minic.c @@ -338,17 +338,24 @@ int minic_tx_frame(uint8_t * hdr, uint8_t * payload, uint32_t size, uint32_t nsec; /* wait for the timestamp */ - for (i = 0; i < 1000; ++i) { + for (i = 0; i < 100; ++i) { mcr = minic_readl(MINIC_REG_MCR); if ((mcr & MINIC_MCR_TX_TS_READY) != 0) break; timer_delay(1); } - if (i == 1000) + ts_valid = 1; + + if (i == 100) + { mprintf("Warning: tx timestamp never became available\n"); + ts_valid = 0; + } + - ts_valid = (uint8_t)(minic_readl(MINIC_REG_TSR0) - & MINIC_TSR0_VALID); + if(ts_valid) + ts_valid = (uint8_t)(minic_readl(MINIC_REG_TSR0) + & MINIC_TSR0_VALID); raw_ts = minic_readl(MINIC_REG_TSR1); fid = MINIC_TSR0_FID_R(minic_readl(MINIC_REG_TSR0)); -- GitLab