diff mbox series

[v2] common/board_f: make sure to call fix_fdt() before reserve_fdt()

Message ID 20200806075435.9800-1-pragnesh.patel@sifive.com
State Superseded
Delegated to: Simon Glass
Headers show
Series [v2] common/board_f: make sure to call fix_fdt() before reserve_fdt() | expand

Commit Message

Pragnesh Patel Aug. 6, 2020, 7:54 a.m. UTC
There may be a chance that board specific fix_fdt() will change the
size of FDT blob so it's safe to call reserve_fdt() after fix_fdt()
otherwise global data (gd) will overwrite with FDT blob values.

Fixes: a8492e25ac71 ("riscv: Expand the DT size before copy reserved memory node")

Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
---
 common/board_f.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Rick Chen Aug. 13, 2020, 3:28 a.m. UTC | #1
Hi Pragnesh

> From: Pragnesh Patel [mailto:pragnesh.patel@sifive.com]
> Sent: Thursday, August 06, 2020 3:55 PM
> To: atish.patra@wdc.com; bmeng.cn@gmail.com; u-boot@lists.denx.de; anup.patel@wdc.com; sagar.kadam@sifive.com; Rick Jian-Zhi Chen(陳建志)
> Cc: paul.walmsley@sifive.com; Pragnesh Patel; Simon Glass; Ovidiu Panait; Stephen Warren; Patrick Delaunay; Joe Hershberger; Vikas Manocha; Masahiro Yamada; Ye Li
> Subject: [PATCH v2] common/board_f: make sure to call fix_fdt() before reserve_fdt()
>
> There may be a chance that board specific fix_fdt() will change the size of FDT blob so it's safe to call reserve_fdt() after fix_fdt() otherwise global data (gd) will overwrite with FDT blob values.
>
> Fixes: a8492e25ac71 ("riscv: Expand the DT size before copy reserved memory node")
>
> Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> Reviewed-by: Rick Chen <rick@andestech.com>
> ---
>  common/board_f.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/common/board_f.c b/common/board_f.c index 88ff0424a7..7ae01e9fff 100644
> --- a/common/board_f.c
> +++ b/common/board_f.c
> @@ -956,6 +956,9 @@ static const init_fnc_t init_sequence_f[] = {
>          *  - board info struct
>          */
>         setup_dest_addr,
> +#ifdef CONFIG_OF_BOARD_FIXUP
> +       fix_fdt,
> +#endif
>  #ifdef CONFIG_PRAM
>         reserve_pram,
>  #endif
> @@ -984,9 +987,6 @@ static const init_fnc_t init_sequence_f[] = {
>         setup_board_part2,
>  #endif
>         display_new_sp,
> -#ifdef CONFIG_OF_BOARD_FIXUP
> -       fix_fdt,
> -#endif
>         INIT_FUNC_WATCHDOG_RESET
>         reloc_fdt,
>         reloc_bootstage,
> --
> 2.17.1
>

Applying: common/board_f: make sure to call fix_fdt() before reserve_fdt()
error: patch failed: common/board_f.c:984
error: common/board_f.c: patch does not apply
Patch failed at 0001 common/board_f: make sure to call fix_fdt()
before reserve_fdt()

Thanks,
Rick
Pragnesh Patel Aug. 13, 2020, 4:17 a.m. UTC | #2
Hi Rick,

>-----Original Message-----
>From: Rick Chen <rickchen36@gmail.com>
>Sent: 13 August 2020 08:59
>To: Pragnesh Patel <pragnesh.patel@sifive.com>
>Cc: U-Boot Mailing List <u-boot@lists.denx.de>; Atish Patra
><atish.patra@wdc.com>; Bin Meng <bmeng.cn@gmail.com>; Anup Patel
><anup.patel@wdc.com>; Sagar Kadam <sagar.kadam@sifive.com>; Paul
>Walmsley ( Sifive) <paul.walmsley@sifive.com>; Simon Glass
><sjg@chromium.org>; ovpanait@gmail.com; swarren@nvidia.com; rick
><rick@andestech.com>; Alan Kao <alankao@andestech.com>
>Subject: Re: [PATCH v2] common/board_f: make sure to call fix_fdt() before
>reserve_fdt()
>
>[External Email] Do not click links or attachments unless you recognize the
>sender and know the content is safe
>
>Hi Pragnesh
>
>> From: Pragnesh Patel [mailto:pragnesh.patel@sifive.com]
>> Sent: Thursday, August 06, 2020 3:55 PM
>> To: atish.patra@wdc.com; bmeng.cn@gmail.com; u-boot@lists.denx.de;
>> anup.patel@wdc.com; sagar.kadam@sifive.com; Rick Jian-Zhi Chen(陳建志)
>> Cc: paul.walmsley@sifive.com; Pragnesh Patel; Simon Glass; Ovidiu
>> Panait; Stephen Warren; Patrick Delaunay; Joe Hershberger; Vikas
>> Manocha; Masahiro Yamada; Ye Li
>> Subject: [PATCH v2] common/board_f: make sure to call fix_fdt() before
>> reserve_fdt()
>>
>> There may be a chance that board specific fix_fdt() will change the size of FDT
>blob so it's safe to call reserve_fdt() after fix_fdt() otherwise global data (gd) will
>overwrite with FDT blob values.
>>
>> Fixes: a8492e25ac71 ("riscv: Expand the DT size before copy reserved
>> memory node")
>>
>> Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com>
>> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
>> Reviewed-by: Rick Chen <rick@andestech.com>
>> ---
>>  common/board_f.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/common/board_f.c b/common/board_f.c index
>> 88ff0424a7..7ae01e9fff 100644
>> --- a/common/board_f.c
>> +++ b/common/board_f.c
>> @@ -956,6 +956,9 @@ static const init_fnc_t init_sequence_f[] = {
>>          *  - board info struct
>>          */
>>         setup_dest_addr,
>> +#ifdef CONFIG_OF_BOARD_FIXUP
>> +       fix_fdt,
>> +#endif
>>  #ifdef CONFIG_PRAM
>>         reserve_pram,
>>  #endif
>> @@ -984,9 +987,6 @@ static const init_fnc_t init_sequence_f[] = {
>>         setup_board_part2,
>>  #endif
>>         display_new_sp,
>> -#ifdef CONFIG_OF_BOARD_FIXUP
>> -       fix_fdt,
>> -#endif
>>         INIT_FUNC_WATCHDOG_RESET
>>         reloc_fdt,
>>         reloc_bootstage,
>> --
>> 2.17.1
>>
>
>Applying: common/board_f: make sure to call fix_fdt() before reserve_fdt()
>error: patch failed: common/board_f.c:984
>error: common/board_f.c: patch does not apply Patch failed at 0001
>common/board_f: make sure to call fix_fdt() before reserve_fdt()

Will rebase and send it again.

>
>Thanks,
>Rick
diff mbox series

Patch

diff --git a/common/board_f.c b/common/board_f.c
index 88ff0424a7..7ae01e9fff 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -956,6 +956,9 @@  static const init_fnc_t init_sequence_f[] = {
 	 *  - board info struct
 	 */
 	setup_dest_addr,
+#ifdef CONFIG_OF_BOARD_FIXUP
+	fix_fdt,
+#endif
 #ifdef CONFIG_PRAM
 	reserve_pram,
 #endif
@@ -984,9 +987,6 @@  static const init_fnc_t init_sequence_f[] = {
 	setup_board_part2,
 #endif
 	display_new_sp,
-#ifdef CONFIG_OF_BOARD_FIXUP
-	fix_fdt,
-#endif
 	INIT_FUNC_WATCHDOG_RESET
 	reloc_fdt,
 	reloc_bootstage,