Message ID | 1455045551-12971-1-git-send-email-srae@broadcom.com |
---|---|
State | Accepted |
Commit | c7529dbad1722bd6d6ef2a0af0e818902a296d64 |
Delegated to: | Tom Rini |
Headers | show |
please, can this be accepted? On Tue, Feb 9, 2016 at 11:19 AM, Steve Rae <srae@broadcom.com> wrote: > When 7bfc3b1 (sparse: Refactor chunk parsing function) was implemented, > it dropped 9981945 (aboot: fix block addressing for don't care chunk type). > > This re-implements the required fix for the "don't care chunk type"... > > Signed-off-by: Steve Rae <srae@broadcom.com> > --- > > Changes in v2: > Handle MMC device differently than the NAND device. > > common/image-sparse.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/common/image-sparse.c b/common/image-sparse.c > index dffe844..ef0d232 100644 > --- a/common/image-sparse.c > +++ b/common/image-sparse.c > @@ -330,9 +330,13 @@ int store_sparse_image(sparse_storage_t *storage, > void *storage_priv, > * and go on parsing the rest of the chunks > */ > if (chunk_header->chunk_type == CHUNK_TYPE_DONT_CARE) { > - skipped += > sparse_block_size_to_storage(chunk_header->chunk_sz, > - storage, > - > sparse_header); > + blkcnt = > sparse_block_size_to_storage(chunk_header->chunk_sz, > + storage, > + > sparse_header); > +#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV > + total_blocks += blkcnt; > +#endif > + skipped += blkcnt; > continue; > } > > @@ -380,7 +384,7 @@ int store_sparse_image(sparse_storage_t *storage, void > *storage_priv, > printf("........ wrote %d blocks to '%s'\n", total_blocks, > storage->name); > > - if ((total_blocks + skipped) != > + if (total_blocks != > sparse_block_size_to_storage(sparse_header->total_blks, > storage, sparse_header)) { > printf("sparse image write failure\n"); > -- > 1.8.5 > >
On Tue, Feb 09, 2016 at 11:19:10AM -0800, Steve Rae wrote: > When 7bfc3b1 (sparse: Refactor chunk parsing function) was implemented, > it dropped 9981945 (aboot: fix block addressing for don't care chunk type). > > This re-implements the required fix for the "don't care chunk type"... > > Signed-off-by: Steve Rae <srae@broadcom.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Thanks! Maxime
On Wed, Mar 9, 2016 at 12:46 PM, Maxime Ripard <maxime.ripard@free-electrons.com> wrote: > On Tue, Feb 09, 2016 at 11:19:10AM -0800, Steve Rae wrote: >> When 7bfc3b1 (sparse: Refactor chunk parsing function) was implemented, >> it dropped 9981945 (aboot: fix block addressing for don't care chunk type). >> >> This re-implements the required fix for the "don't care chunk type"... >> >> Signed-off-by: Steve Rae <srae@broadcom.com> > > Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> > > Thanks! > Maxime > > -- > Maxime Ripard, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com can this be applied? Thanks
On Tue, Feb 09, 2016 at 11:19:10AM -0800, Steve Rae wrote: > When 7bfc3b1 (sparse: Refactor chunk parsing function) was implemented, > it dropped 9981945 (aboot: fix block addressing for don't care chunk type). > > This re-implements the required fix for the "don't care chunk type"... > > Signed-off-by: Steve Rae <srae@broadcom.com> > Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Applied to u-boot/master, thanks!
diff --git a/common/image-sparse.c b/common/image-sparse.c index dffe844..ef0d232 100644 --- a/common/image-sparse.c +++ b/common/image-sparse.c @@ -330,9 +330,13 @@ int store_sparse_image(sparse_storage_t *storage, void *storage_priv, * and go on parsing the rest of the chunks */ if (chunk_header->chunk_type == CHUNK_TYPE_DONT_CARE) { - skipped += sparse_block_size_to_storage(chunk_header->chunk_sz, - storage, - sparse_header); + blkcnt = sparse_block_size_to_storage(chunk_header->chunk_sz, + storage, + sparse_header); +#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV + total_blocks += blkcnt; +#endif + skipped += blkcnt; continue; } @@ -380,7 +384,7 @@ int store_sparse_image(sparse_storage_t *storage, void *storage_priv, printf("........ wrote %d blocks to '%s'\n", total_blocks, storage->name); - if ((total_blocks + skipped) != + if (total_blocks != sparse_block_size_to_storage(sparse_header->total_blks, storage, sparse_header)) { printf("sparse image write failure\n");
When 7bfc3b1 (sparse: Refactor chunk parsing function) was implemented, it dropped 9981945 (aboot: fix block addressing for don't care chunk type). This re-implements the required fix for the "don't care chunk type"... Signed-off-by: Steve Rae <srae@broadcom.com> --- Changes in v2: Handle MMC device differently than the NAND device. common/image-sparse.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)