flash: handle zero when reading stm32 flash size reg
[fw/openocd] / src / flash / nor / stm32lx.c
index 3863144029959d4c9461189a34dd90ec9871c71c..27a446de19b4522f5494ab8e54fa3ed00f591099 100644 (file)
@@ -482,6 +482,11 @@ static int stm32lx_probe(struct flash_bank *bank)
                flash_size_in_kb = 0xffff;
        }
 
+       /* some variants read 0 for flash size register
+        * use a max flash size as a default */
+       if (flash_size_in_kb == 0)
+               flash_size_in_kb = 0xffff;
+
        if ((device_id & 0xfff) == 0x416) {
                /* check for early silicon */
                if (flash_size_in_kb == 0xffff) {