diff options
-rw-r--r-- | firmware/drivers/fat.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c index f41f039380..cfff3e869c 100644 --- a/firmware/drivers/fat.c +++ b/firmware/drivers/fat.c | |||
@@ -457,11 +457,6 @@ static int bpb_is_sane(void) | |||
457 | fat_bpb.bpb_bytspersec * fat_bpb.bpb_secperclus); | 457 | fat_bpb.bpb_bytspersec * fat_bpb.bpb_secperclus); |
458 | return -2; | 458 | return -2; |
459 | } | 459 | } |
460 | if (fat_bpb.bpb_rsvdseccnt != 32) | ||
461 | { | ||
462 | DEBUGF( "bpb_is_sane() - Warning: Reserved sectors is not 32 (%d)\n", | ||
463 | fat_bpb.bpb_rsvdseccnt); | ||
464 | } | ||
465 | if(fat_bpb.bpb_numfats != 2) | 460 | if(fat_bpb.bpb_numfats != 2) |
466 | { | 461 | { |
467 | DEBUGF( "bpb_is_sane() - Warning: NumFATS is not 2 (%d)\n", | 462 | DEBUGF( "bpb_is_sane() - Warning: NumFATS is not 2 (%d)\n", |
@@ -602,7 +597,7 @@ static int update_fat_entry(unsigned int entry, unsigned int val) | |||
602 | DEBUGF( "update_entry() - Could not cache sector %d\n", sector); | 597 | DEBUGF( "update_entry() - Could not cache sector %d\n", sector); |
603 | return -1; | 598 | return -1; |
604 | } | 599 | } |
605 | fat_cache[sector & FAT_CACHE_MASK].dirty = true; | 600 | fat_cache[(sector + fat_bpb.bpb_rsvdseccnt) & FAT_CACHE_MASK].dirty = true; |
606 | 601 | ||
607 | if ( val ) { | 602 | if ( val ) { |
608 | if (!(SWAB32(sec[offset]) & 0x0fffffff)) | 603 | if (!(SWAB32(sec[offset]) & 0x0fffffff)) |
@@ -1443,7 +1438,6 @@ int fat_rename(struct fat_file* file, | |||
1443 | return 0; | 1438 | return 0; |
1444 | } | 1439 | } |
1445 | 1440 | ||
1446 | |||
1447 | static int next_write_cluster(struct fat_file* file, | 1441 | static int next_write_cluster(struct fat_file* file, |
1448 | int oldcluster, | 1442 | int oldcluster, |
1449 | int* newsector) | 1443 | int* newsector) |
@@ -1467,7 +1461,7 @@ static int next_write_cluster(struct fat_file* file, | |||
1467 | update_fat_entry(oldcluster, cluster); | 1461 | update_fat_entry(oldcluster, cluster); |
1468 | else | 1462 | else |
1469 | file->firstcluster = cluster; | 1463 | file->firstcluster = cluster; |
1470 | update_fat_entry(cluster, FAT_EOF_MARK); | 1464 | update_fat_entry(cluster, FAT_EOF_MARK); |
1471 | } | 1465 | } |
1472 | else { | 1466 | else { |
1473 | #ifdef TEST_FAT | 1467 | #ifdef TEST_FAT |
@@ -1611,7 +1605,6 @@ int fat_seek(struct fat_file *file, unsigned int seeksector ) | |||
1611 | clusternum = seeksector / fat_bpb.bpb_secperclus; | 1605 | clusternum = seeksector / fat_bpb.bpb_secperclus; |
1612 | sectornum = seeksector % fat_bpb.bpb_secperclus; | 1606 | sectornum = seeksector % fat_bpb.bpb_secperclus; |
1613 | 1607 | ||
1614 | |||
1615 | for (i=0; i<clusternum; i++) { | 1608 | for (i=0; i<clusternum; i++) { |
1616 | cluster = get_next_cluster(cluster); | 1609 | cluster = get_next_cluster(cluster); |
1617 | if (!cluster) { | 1610 | if (!cluster) { |