From 65b69299430692c3d7e7034cbb4a16353364a5d0 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 14 Oct 2022 09:53:06 +0200 Subject: [PATCH] SecureQSPIFBlockDevice: deinit after reading info --- variants/PORTENTA_H7_M7/variant.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/variants/PORTENTA_H7_M7/variant.cpp b/variants/PORTENTA_H7_M7/variant.cpp index 26d798cc3..0ec328ed3 100644 --- a/variants/PORTENTA_H7_M7/variant.cpp +++ b/variants/PORTENTA_H7_M7/variant.cpp @@ -254,18 +254,20 @@ class SecureQSPIFBlockDevice: public QSPIFBlockDevice { static uint8_t *_boardInfo = (uint8_t*)(0x801F000); static bool has_otp_info = false; +static SecureQSPIFBlockDevice secure_root; + // 8Kbit secure OTP area (on MX25L12833F) bool getSecureFlashData() { - static SecureQSPIFBlockDevice root; static PortentaBoardInfo* info = new PortentaBoardInfo(); - root.init(); - auto ret = root.readSecure(info, 0, sizeof(PortentaBoardInfo)); + secure_root.init(); + auto ret = secure_root.readSecure(info, 0, sizeof(PortentaBoardInfo)); if (info->magic == OTP_QSPI_MAGIC) { _boardInfo = (uint8_t*)info; has_otp_info = true; } else { delete info; } + secure_root.deinit(); return ret == 0; }