Переглянути джерело

sd: do not add one sector to the disk size

This leads to random off-by-one error.
When the size of the SD is exactly 1GB, the emulation was returning a
wrong SDHC CSD descriptor.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
Vincent Palatin 14 роки тому
батько
коміт
5e37141bbb
1 змінених файлів з 1 додано та 3 видалено
  1. 1 3
      hw/sd.c

+ 1 - 3
hw/sd.c

@@ -393,9 +393,7 @@ static void sd_reset(SDState *sd, BlockDriverState *bdrv)
     } else {
     } else {
         sect = 0;
         sect = 0;
     }
     }
-    sect <<= 9;
-
-    size = sect + 1;
+    size = sect << 9;
 
 
     sect = (size >> (HWBLOCK_SHIFT + SECTOR_SHIFT + WPGROUP_SHIFT)) + 1;
     sect = (size >> (HWBLOCK_SHIFT + SECTOR_SHIFT + WPGROUP_SHIFT)) + 1;