]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Fee, changed type on for flag used to force garbage collection. Aborting job if memif... Ticket1561_Fee
authorhebe <devnull@localhost>
Mon, 10 Sep 2012 11:26:03 +0000 (13:26 +0200)
committerhebe <devnull@localhost>
Mon, 10 Sep 2012 11:26:03 +0000 (13:26 +0200)
memory/Fee/Fee.c

index 671ad4c0bf5b9caadeddb2d42dc146ffcd119ea0..7ea7eaeb149f67d776a472919937958769e6e570 100644 (file)
@@ -235,7 +235,7 @@ typedef struct {
 \r
 typedef struct {\r
        uint8                           BankNumber;\r
-       uint8                           ForceGarbageCollect;\r
+       boolean                         ForceGarbageCollect;\r
        uint8                           NofFailedGarbageCollect;\r
        Fls_AddressType         NewBlockAdminAddress;\r
        Fls_AddressType         NewBlockDataAddress;\r
@@ -421,7 +421,7 @@ static void AbortJob(MemIf_JobResultType result)
 {\r
        if(AdminFls.NofFailedGarbageCollect >= MAX_NOF_FAILED_GC_ATTEMPTS){\r
                DET_REPORTERROR(MODULE_ID_FEE, 0, FEE_GLOBAL_ID, FEE_FLASH_CORRUPT);\r
-               AdminFls.ForceGarbageCollect = 0;\r
+               AdminFls.ForceGarbageCollect = FALSE;\r
                CurrentJob.State = FEE_CORRUPTED;\r
        } else {\r
                CurrentJob.State = FEE_IDLE;\r
@@ -649,7 +649,7 @@ static void Reading(void)
 static void BankHeaderOldWrite(uint8 bank)\r
 {\r
        /* Need to collect garbage */\r
-       AdminFls.ForceGarbageCollect = 1;\r
+       AdminFls.ForceGarbageCollect = TRUE;\r
        /* Mark the bank as old */\r
        memset(RWBuffer.BankCtrl.Data, 0xff, BANK_CTRL_PAGE_SIZE);\r
        RWBuffer.BankCtrl.BankStatus = BANK_STATUS_OLD;\r
@@ -1029,6 +1029,9 @@ static void GarbageCollectWriteMagicRequested(void)
                        AdminFls.NofFailedGarbageCollect++;\r
                        AbortJob(Fls_GetJobResult());\r
                }\r
+       } else {\r
+               AdminFls.NofFailedGarbageCollect++;\r
+               AbortJob(Fls_GetJobResult());\r
        }\r
 }\r
 \r
@@ -1059,7 +1062,7 @@ static void GarbageCollectErase(void)
        if (CheckFlsJobFinnished()) {\r
                if (Fls_GetJobResult() == MEMIF_JOB_OK) {\r
                        AdminFls.BankStatus[CurrentJob.Op.GarbageCollect.BankNumber] = BANK_STATUS_NEW;\r
-                       AdminFls.ForceGarbageCollect = 0;\r
+                       AdminFls.ForceGarbageCollect = FALSE;\r
                        AdminFls.NofFailedGarbageCollect = 0;\r
                        FinnishJob();\r
                } else {\r
@@ -1196,7 +1199,7 @@ void Fee_Init(void)
 #endif\r
 \r
        AdminFls.BankNumber = 0;\r
-       AdminFls.ForceGarbageCollect = 0;\r
+       AdminFls.ForceGarbageCollect = FALSE;\r
        AdminFls.NofFailedGarbageCollect = 0;\r
        AdminFls.NewBlockDataAddress = BankProp[AdminFls.BankNumber].Start;\r
        AdminFls.NewBlockAdminAddress = BankProp[AdminFls.BankNumber].End - (BLOCK_CTRL_PAGE_SIZE + BANK_CTRL_PAGE_SIZE);\r