Index: NVDataMgmt.c =================================================================== diff -u -r69026a5e09f0adb43b19b41eee993dd1d68b5b75 -r8119125ec55f7e9c9c8f011544b3f2fb8a4f8308 --- NVDataMgmt.c (.../NVDataMgmt.c) (revision 69026a5e09f0adb43b19b41eee993dd1d68b5b75) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision 8119125ec55f7e9c9c8f011544b3f2fb8a4f8308) @@ -2971,20 +2971,30 @@ U16 recordCRC; PROCESS_RECORD_SPECS_T spec; BOOL status = TRUE; + BOOL isCheckRequired = TRUE; for ( i = 0; i < NUM_OF_NVDATMGMT_RECORDS_JOBS; i++ ) { - spec = RECORDS_SPECS [ i ]; - calcCRC = crc16 ( spec.structAddressPtr, spec.sizeofJob - sizeof(U16) ); - recordCRC = *(U16*)spec.structCRCPtr; - - // If the CRCs do not match, break out of loop since POST will be failed - // regardless of the rest of the results - if ( calcCRC != recordCRC ) +#ifdef _DG_ + // Scheduled runs are not part this phase but it is part of the enums + // so they are ignored during checking + isCheckRequired = ( NVDATAMGMT_SCHEDULED_RUNS_RECORD == i ? FALSE : TRUE ); +#endif + if ( TRUE == isCheckRequired ) { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_NVDATAMGMT_GROUP_RECORD_CRC_INVALID, i ); - status = FALSE; + spec = RECORDS_SPECS [ i ]; + calcCRC = crc16 ( spec.structAddressPtr, spec.sizeofJob - sizeof(U16) ); + recordCRC = *(U16*)spec.structCRCPtr; + + // If the CRCs do not match, break out of loop since POST will be failed + // regardless of the rest of the results + if ( calcCRC != recordCRC ) + { + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_NVDATAMGMT_GROUP_RECORD_CRC_INVALID, i ); + status = FALSE; + } } + } return status;