Procházet zdrojové kódy

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 před 14 roky
rodič
revize
5e37141bbb
1 změnil soubory, kde provedl 1 přidání a 3 odebrání
  1. 1 3
      hw/sd.c

+ 1 - 3
hw/sd.c

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