diff options
author | Torne Wuff <torne@wolfpuppy.org.uk> | 2011-09-17 22:45:59 +0000 |
---|---|---|
committer | Torne Wuff <torne@wolfpuppy.org.uk> | 2011-09-17 22:45:59 +0000 |
commit | 36d04ac76e1334ace25ce34e221072ce70bc4a32 (patch) | |
tree | 6c3a634c46a00eb9151e3a0369b52849bff88f5e /firmware/common | |
parent | e14bda521d0e396777df4fdc965335e23e8805de (diff) | |
download | rockbox-36d04ac76e1334ace25ce34e221072ce70bc4a32.tar.gz rockbox-36d04ac76e1334ace25ce34e221072ce70bc4a32.zip |
Allow any partition type, not just known FAT types.
Instead of only mounting partitions with a FAT partition type, try any
partition that isn't type 0 (unallocated) or 5 (extended). This makes it easier
to reformat SDXC cards which have the exFAT partition type, and also brings us
in line with pretty much every other OS at this point. Anything with a
valid-looking FAT superblock will get mounted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30566 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/common')
-rw-r--r-- | firmware/common/disk.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/firmware/common/disk.c b/firmware/common/disk.c index 3c1f01cc61..b77f2e294a 100644 --- a/firmware/common/disk.c +++ b/firmware/common/disk.c | |||
@@ -189,9 +189,8 @@ int disk_mount(int drive) | |||
189 | #endif | 189 | #endif |
190 | for (; volume != -1 && i<4 && mounted<NUM_VOLUMES_PER_DRIVE; i++) | 190 | for (; volume != -1 && i<4 && mounted<NUM_VOLUMES_PER_DRIVE; i++) |
191 | { | 191 | { |
192 | if (memchr(fat_partition_types, pinfo[i].type, | 192 | if (pinfo[i].type == 0 || pinfo[i].type == 5) |
193 | sizeof(fat_partition_types)) == NULL) | 193 | continue; /* skip free/extended partitions */ |
194 | continue; /* not an accepted partition type */ | ||
195 | 194 | ||
196 | #ifdef MAX_LOG_SECTOR_SIZE | 195 | #ifdef MAX_LOG_SECTOR_SIZE |
197 | int j; | 196 | int j; |