diff options
Diffstat (limited to 'software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c')
-rw-r--r-- | software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c index 21bec84..603ca6d 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c @@ -23,9 +23,9 @@ You should have received a copy of the GNU General Public License along with the OCT6100 GPL API; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -$Octasic_Release: OCT612xAPI-01.00-PR39 $ +$Octasic_Release: OCT612xAPI-01.00-PR40 $ -$Octasic_Revision: 71 $ +$Octasic_Revision: 72 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -530,6 +530,22 @@ UINT32 Oct6100InterruptServiceRoutineSer( ReadParams.ulUserChipId = pSharedInfo->ChipConfig.ulUserChipId; ReadParams.pusReadData = &usReadData; + + /* Set all the flags to default values to make sure the variables are initialized. */ + f_pIntFlags->fFatalGeneral = FALSE; + f_pIntFlags->ulFatalGeneralFlags = 0x0; + f_pIntFlags->fFatalReadTimeout = FALSE; + + f_pIntFlags->fErrorRefreshTooLate = FALSE; + f_pIntFlags->fErrorPllJitter = FALSE; + + f_pIntFlags->fErrorH100OutOfSync = FALSE; + f_pIntFlags->fErrorH100ClkA = FALSE; + f_pIntFlags->fErrorH100ClkB = FALSE; + f_pIntFlags->fErrorH100FrameA = FALSE; + f_pIntFlags->fApiSynch = FALSE; + + f_pIntFlags->fErrorOverflowToneEvents = FALSE; /* Start by reading registers 210h to determine if any modules have flagged an interrupt. */ ReadParams.ulReadAddress = 0x210; @@ -588,6 +604,10 @@ UINT32 Oct6100InterruptServiceRoutineSer( /* Set the buffer playout events pending flag. */ f_pIntFlags->fBufferPlayoutEventsPending = pSharedInfo->IntrptManage.fBufferPlayoutEventsPending; } + else + { + f_pIntFlags->fBufferPlayoutEventsPending = FALSE; + } /* Update the states of each interrupt group. */ ulResult = Oct6100ApiUpdateIntrptStates( f_pApiInstance, f_pIntFlags ); |