On Tue, Sep 25, 2018 at 12:58:45PM +0200, Ladislav Michl wrote: > backend_bucket_circular currently assumes writesize is power of 2, > which makes it fail on dataflash devices, where this assumption > is false. > > Signed-off-by: Ladislav Michl <ladis@xxxxxxxxxxxxxx> > --- > common/state/backend_bucket_circular.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Applied, thanks Sascha > > diff --git a/common/state/backend_bucket_circular.c b/common/state/backend_bucket_circular.c > index 933493e22..0529421a2 100644 > --- a/common/state/backend_bucket_circular.c > +++ b/common/state/backend_bucket_circular.c > @@ -248,7 +248,7 @@ static int state_backend_bucket_circular_read(struct state_backend_storage_bucke > circ->write_area = 0; > dev_info(circ->dev, "Detected old on-storage format\n"); > } else if (circ->last_written_length > circ->write_area > - || !IS_ALIGNED(circ->last_written_length, circ->writesize)) { > + || (circ->last_written_length % circ->writesize != 0)) { > circ->write_area = 0; > dev_err(circ->dev, "Error, invalid number of bytes written last time %d\n", > circ->last_written_length); > @@ -295,7 +295,7 @@ static int state_backend_bucket_circular_write(struct state_backend_storage_buck > get_bucket_circular(bucket); > off_t offset; > struct state_backend_storage_bucket_circular_meta *meta; > - uint32_t written_length = ALIGN(len + sizeof(*meta), circ->writesize); > + uint32_t written_length = roundup(len + sizeof(*meta), circ->writesize); > int ret; > void *write_buf; > > -- > 2.19.0 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox