forked from Openwrt/openwrt
fa79baf4a6
Copy backport, hack, pending patch and config from 5.15 to 6.1. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
From d61784e6410f3df2028e6eb91b06ffed37a660e0 Mon Sep 17 00:00:00 2001
|
|
From: Patrick Delaunay <patrick.delaunay@foss.st.com>
|
|
Date: Fri, 18 Nov 2022 06:39:21 +0000
|
|
Subject: [PATCH] nvmem: stm32: add warning when upper OTPs are updated
|
|
|
|
As the upper OTPs are ECC protected, they support only one 32 bits word
|
|
programming.
|
|
For a second modification of this word, these ECC become invalid and
|
|
this OTP will be no more accessible, the shadowed value is invalid.
|
|
|
|
This patch adds a warning to indicate an upper OTP update, because this
|
|
operation is dangerous as OTP is not locked by the driver after the first
|
|
update to avoid a second update.
|
|
|
|
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
|
|
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
|
Link: https://lore.kernel.org/r/20221118063932.6418-3-srinivas.kandagatla@linaro.org
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
drivers/nvmem/stm32-romem.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
--- a/drivers/nvmem/stm32-romem.c
|
|
+++ b/drivers/nvmem/stm32-romem.c
|
|
@@ -132,6 +132,9 @@ static int stm32_bsec_write(void *contex
|
|
}
|
|
}
|
|
|
|
+ if (offset + bytes >= priv->lower * 4)
|
|
+ dev_warn(dev, "Update of upper OTPs with ECC protection (word programming, only once)\n");
|
|
+
|
|
return 0;
|
|
}
|
|
|