eclair snapshot
diff --git a/vold/blkdev.c b/vold/blkdev.c
index e10eafc..22d000e 100644
--- a/vold/blkdev.c
+++ b/vold/blkdev.c
@@ -32,6 +32,7 @@
#include "vold.h"
#include "blkdev.h"
#include "diskmbr.h"
+#include "media.h"
#define DEBUG_BLKDEV 0
@@ -132,7 +133,12 @@
}
} else if (blk->type == blkdev_partition) {
struct dos_partition part;
- int part_no = blk->minor -1;
+ int part_no;
+
+ if (blk->media->media_type == media_mmc)
+ part_no = blk->minor % MMC_PARTS_PER_CARD -1;
+ else
+ part_no = blk->minor -1;
if (part_no < 4) {
dos_partition_dec(block + DOSPARTOFF + part_no * sizeof(struct dos_partition), &part);