From d28f54c2a7f1a1ca6b76693d19e69982c32405a8 Mon Sep 17 00:00:00 2001 From: Hugo Villeneuve Date: Wed, 5 Nov 2025 12:09:58 -0500 Subject: [PATCH] tlv_eeprom: delete old key before updating if it already exists Signed-off-by: Hugo Villeneuve --- src/tlv_eeprom.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/tlv_eeprom.c b/src/tlv_eeprom.c index a1a5d96..967e6dd 100644 --- a/src/tlv_eeprom.c +++ b/src/tlv_eeprom.c @@ -472,6 +472,15 @@ bool tlvinfo_add_tlv(u8 *eeprom, int tcode, char *strval) u32 value; char data[MAX_TLV_VALUE_LEN]; int eeprom_index; + int ret; + + /* First check if an existing key exist: */ + if (tlvinfo_find_tlv(eeprom, tcode, &eeprom_index)) { + /* If yes, delete old key first (update mode) : */ + ret = tlvinfo_delete_tlv(eeprom, tcode); + if (!ret) + return false; + } // Encode each TLV type into the format to be stored in the EEPROM switch (tcode) { -- 2.20.1