From 602e32bd3b63fa7978ae4f33dc428cf1e71a952b Mon Sep 17 00:00:00 2001 From: Tony MÃ¥nsson Date: Thu, 19 May 2011 13:11:49 +0200 Subject: Fix for Snowball --- disk/part_toc.c | 7 +++++-- fs/fat/fat.c | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/disk/part_toc.c b/disk/part_toc.c index 82bb1bc95..d0d872a43 100644 --- a/disk/part_toc.c +++ b/disk/part_toc.c @@ -13,6 +13,7 @@ #include #include +#include #include "part_toc.h" static int toc_location = NO_TOC; @@ -480,8 +481,10 @@ void print_part_toc(block_dev_desc_t *dev_desc) int test_part_toc(block_dev_desc_t *dev_desc) { debug("test_part_toc\n"); - if (toc_init(dev_desc, &toc_main_toc[0]) == 0) - return 0; + if (toc_init(dev_desc, &toc_main_toc[0]) == 0) { + /* If Snowball ignore TOC */ + return u8500_is_snowball(); + } else return 1; } diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 086f3a6a5..91d554384 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -170,6 +170,7 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no) #if defined(CONFIG_ROCKBOX_FAT) cur_block_dev.cur_part = part_no; cur_block_dev.part_offset=info.start; + printf("Partition info retrieved\n"); #else part_offset = info.start; cur_part = part_no; @@ -211,8 +212,10 @@ fat_register_device(block_dev_desc_t *dev_desc, int part_no) * purpose the libpart must be included. */ #if defined(CONFIG_ROCKBOX_FAT) - cur_block_dev.cur_part = 1; + cur_block_dev.cur_part = 1; cur_block_dev.part_offset = 32; + cur_block_dev.part_offset=info.start; + } #else part_offset = 32; cur_part = 1; -- cgit v1.2.3