diff mbox series

stm32mp: stm32prog: accept device without partition

Message ID 20201015122817.18234-1-patrick.delaunay@st.com
State Accepted
Commit 53de79fecc53338b544b4d2c2d88daba9d82b007
Delegated to: Patrick Delaunay
Headers show
Series stm32mp: stm32prog: accept device without partition | expand

Commit Message

Patrick DELAUNAY Oct. 15, 2020, 12:28 p.m. UTC
When partitions are not available on a device the command stm32prog raises
an error but a device can have no partition to check in init_device()
and the command need to continue to the next part_id.

This patch correct an issue for ram0 target, when block_dev and mtd
are NULL.

For example with the simple flashlayout file:

Opt	Part	Name	Type	Device	Offset	Binary
-	0x01	fsbl	Binary	none	0x0	tf-a-serialboot.stm32
-	0x03	ssbl	Binary	none	0x0	u-boot.stm32
P	0x10	kernel	System	ram0	0xC2000000	uImage.bin
P	0x11	dtb	FileSytem	ram0	0xC4000000	stm32mp157f-ev1.dtb

Fixes: ffc405e63b94 ("stm32mp: stm32prog: add upport of partial update")
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
---

 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Patrice CHOTARD Oct. 21, 2020, 11:48 a.m. UTC | #1
Hi Patrick

On 10/15/20 2:28 PM, Patrick Delaunay wrote:
> When partitions are not available on a device the command stm32prog raises
> an error but a device can have no partition to check in init_device()
> and the command need to continue to the next part_id.
>
> This patch correct an issue for ram0 target, when block_dev and mtd
> are NULL.
>
> For example with the simple flashlayout file:
>
> Opt	Part	Name	Type	Device	Offset	Binary
> -	0x01	fsbl	Binary	none	0x0	tf-a-serialboot.stm32
> -	0x03	ssbl	Binary	none	0x0	u-boot.stm32
> P	0x10	kernel	System	ram0	0xC2000000	uImage.bin
> P	0x11	dtb	FileSytem	ram0	0xC4000000	stm32mp157f-ev1.dtb
>
> Fixes: ffc405e63b94 ("stm32mp: stm32prog: add upport of partial update")
> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> ---
>
>  arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
> index ec3355d816..a777827c55 100644
> --- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
> +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
> @@ -768,9 +768,8 @@ static int init_device(struct stm32prog_data *data,
>  			part_found = true;
>  		}
>  
> +		/* no partition for this device */
>  		if (!part_found) {
> -			stm32prog_err("%s (0x%x): Invalid partition",
> -				      part->name, part->id);
>  			pr_debug("\n");
>  			continue;
>  		}

Reviewed-by: Patrice Chotard <patrice.chotard@st.com>

Thanks
Patrick DELAUNAY Oct. 21, 2020, 1:44 p.m. UTC | #2
Hi,

> From: Patrick DELAUNAY <patrick.delaunay@st.com>
> Sent: jeudi 15 octobre 2020 14:28
> 
> When partitions are not available on a device the command stm32prog raises an
> error but a device can have no partition to check in init_device() and the command
> need to continue to the next part_id.
> 
> This patch correct an issue for ram0 target, when block_dev and mtd are NULL.
> 
> For example with the simple flashlayout file:
> 
> Opt	Part	Name	Type	Device	Offset	Binary
> -	0x01	fsbl	Binary	none	0x0	tf-a-serialboot.stm32
> -	0x03	ssbl	Binary	none	0x0	u-boot.stm32
> P	0x10	kernel	System	ram0	0xC2000000	uImage.bin
> P	0x11	dtb	FileSytem	ram0	0xC4000000	stm32mp157f-
> ev1.dtb
> 
> Fixes: ffc405e63b94 ("stm32mp: stm32prog: add upport of partial update")
> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> ---
> 
>  arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 

Applied to u-boot-stm/master, thanks!

Regards

Patrick
diff mbox series

Patch

diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
index ec3355d816..a777827c55 100644
--- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
+++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
@@ -768,9 +768,8 @@  static int init_device(struct stm32prog_data *data,
 			part_found = true;
 		}
 
+		/* no partition for this device */
 		if (!part_found) {
-			stm32prog_err("%s (0x%x): Invalid partition",
-				      part->name, part->id);
 			pr_debug("\n");
 			continue;
 		}