X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fefm32.c;fp=src%2Fflash%2Fnor%2Fefm32.c;h=81c1a379cc3a7261ab24d8642d7e02f6a8d47576;hp=0b33829bae2534d309ae90489abb8f3bce206377;hb=c37a88c92f0234df6206a4b58c23d20563a22afc;hpb=1039ed3ff2138c9d0d820b143159738f8a73cb2e diff --git a/src/flash/nor/efm32.c b/src/flash/nor/efm32.c index 0b33829bae..81c1a379cc 100644 --- a/src/flash/nor/efm32.c +++ b/src/flash/nor/efm32.c @@ -456,10 +456,10 @@ static int efm32x_read_lock_data(struct flash_bank *bank) uint32_t *ptr = NULL; int ret = 0; - assert(!(bank->num_sectors & 0x1f)); + assert(bank->num_sectors > 0); - data_size = bank->num_sectors / 8; /* number of data bytes */ - data_size /= 4; /* ...and data dwords */ + /* calculate the number of 32-bit words to read (one lock bit per sector) */ + data_size = (bank->num_sectors + 31) / 32; ptr = efm32x_info->lb_page;