flash/stm32h7x: fix FLASH_WPSN_PRG mask used for protection
[fw/openocd] / src / flash / nor / stm32h7x.c
index 6d3149f9464dd1c9a813db3c19dc27d61d208e6b..d2914eb39d6435ee61e798fa802d5ce39da6d261 100644 (file)
@@ -531,6 +531,7 @@ static int stm32x_protect(struct flash_bank *bank, int set, unsigned int first,
                unsigned int last)
 {
        struct target *target = bank->target;
+       struct stm32h7x_flash_bank *stm32x_info = bank->driver_priv;
        uint32_t protection;
 
        if (target->state != TARGET_HALTED) {
@@ -553,7 +554,7 @@ static int stm32x_protect(struct flash_bank *bank, int set, unsigned int first,
        }
 
        /* apply WRPSN mask */
-       protection &= 0xff;
+       protection &= stm32x_info->part_info->wps_mask;
 
        LOG_DEBUG("stm32x_protect, option_bytes written WPSN 0x%" PRIx32, protection);