From: hades Date: Sat, 27 May 2000 16:56:34 +0000 (+0000) Subject: Double words solved X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=6b22921598d340e845bb4a175562ee248914cd95;p=daqdata.git Double words solved --- diff --git a/hadaq/hwtip.c b/hadaq/hwtip.c index fc34e99..4cd14ca 100644 --- a/hadaq/hwtip.c +++ b/hadaq/hwtip.c @@ -28,11 +28,28 @@ void sigbusHandler(int sig) static LVme_L berrGetL(LVme * my, unsigned long offset) { - LVme_L retVal; + volatile LVme_L retVal; + static LVme_L oldWord = 0xffffffff; + static LVme_L oldOff = 0xffffffff; + do { ourVmeAccessOK = 1; retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); + retVal = LVme_getL(my, offset); } while (!ourVmeAccessOK); + if (oldOff != offset && oldWord == retVal) { + msglog(LOG_ERR, "wird twice: 0x%08x on 0x%08x\n", retVal, offset); + } + oldOff = offset; + oldWord = retVal; return retVal; }