devide: Set cache dirty flag even when write operation fails
authorWill Sowerbutts <will@sowerbutts.com>
Mon, 12 Jan 2015 00:44:40 +0000 (00:44 +0000)
committerWill Sowerbutts <will@sowerbutts.com>
Mon, 12 Jan 2015 00:44:40 +0000 (00:44 +0000)
Kernel/dev/devide.c

index f8106d0..600b489 100644 (file)
@@ -128,9 +128,9 @@ static bool devide_transfer_sector(uint8_t drive, uint32_t lba, void *buffer, bo
        devide_read_data(buffer, IDE_REG_DATA);
     else{
        devide_write_data(buffer, IDE_REG_DATA);
+       drive_flags[drive] |= FLAG_CACHE_DIRTY;
        if(!devide_wait(IDE_STATUS_READY))
            return false;
-       drive_flags[drive] |= FLAG_CACHE_DIRTY;
     }
 
     return true;