From 8a99070ad644bfbb3d5225acb514e543b745524c Mon Sep 17 00:00:00 2001 From: Ron Sluiter Date: Fri, 15 Nov 2013 19:44:42 +0000 Subject: [PATCH] Added bus flushing read on exit from ISR to fix "out of order transactions"; symptom "Spurious interrupts". --- motorApp/OmsSrc/drvOms.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/motorApp/OmsSrc/drvOms.cc b/motorApp/OmsSrc/drvOms.cc index b56fd1f1..6ee46d26 100644 --- a/motorApp/OmsSrc/drvOms.cc +++ b/motorApp/OmsSrc/drvOms.cc @@ -82,6 +82,8 @@ HeadURL: $URL$ * .17 07-26-12 rls - Added reboot flag to IRQ control register. Driver * sets IRQ_RESET_ID bit on; set_status() and send_mess() * read IRQ register and disable board if flag is off. + * .18 11-15-03 rls - Added bus flushing read on exit from ISR to prevent + * "out of order transactions". */ /*========================stepper motor driver ======================== @@ -900,8 +902,8 @@ static void motorIsr(int card) } irqdata->recv_sem->signal(); } - /* Update-interrupt state */ - pmotor->control = control; + pmotor->control = control; /* Update-interrupt state. */ + control = pmotor->control; /* Read it back to flush last write cycle. */ } static int motorIsrEnable(int card)