Anbernic RG353M is hardware compatible with RG353P. Only the form-factor
differs. So only one DTS is created for both machines with
"Anbernic RG353P" as default model. If a RG353M is detected, the model
should be overwritten with the correct name.
Actually, it's overwritten with "Anbernic" only making the process of
machine detection a little harder.
However, to determine the size of the string "Anbernic RG353M", it is
sizeof() which is used resulting in obtaining the size of the pointer
(which is 8 bytes on ARM64) not the size of the pointed string.
strlen() should be used instead.
---
 board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c 
b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
index c1d1826fd14..d402374e90e 100644
--- a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
+++ b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
@@ -695,7 +695,7 @@ int ft_board_setup(void *blob, struct bd_info *bd)
        if (gd->board_type == RG353M)
                fdt_setprop(blob, 0, "model",
                            rg3xx_model_details[RG353M].board_name,
-                           sizeof(rg3xx_model_details[RG353M].board_name));
+                           strlen(rg3xx_model_details[RG353M].board_name));
 
        if (rg3xx_model_details[gd->board_type].detect_panel) {
                ret = rgxx3_panel_fixup(blob);
-- 
2.51.0

Reply via email to