summaryrefslogtreecommitdiff
path: root/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c
diff options
context:
space:
mode:
Diffstat (limited to 'software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c')
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c24
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 );