mtd: core: Fix erase area alignment for non power of 2 erasesize
On Thu, Jan 10, 2019 at 09:32:07AM +0100, Sascha Hauer wrote: > On Wed, Jan 09, 2019 at 12:28:14PM +0100, Ladislav Michl wrote: > > Devices as AT45DB161 DataFlash uses non power of two page size (528) > > while present alignment algorithm relies on erasesize being power > > of 2. > > Fix that by introducing helper functions rounding to any multiply. > > Note that logic is sligthly changed to be consistent as ending > > address is moved forward to include also last byte meant to be > > erased while previous implementation moved it backward. > > > > Signed-off-by: Ladislav Michl <ladis@linux-mips.org> > > --- > > drivers/mtd/core.c | 28 ++++++++++++++++++++++------ > > include/linux/kernel.h | 5 +++++ > > 2 files changed, 27 insertions(+), 6 deletions(-) > > Applied, thanks Hi Sascha, I was searching for paper bag, but was unable to find anything thick enouh to cover behind :-/ This version is buggy and I noticed right now when testing on another board. Corrected version follows, which is also 192 bytes shorter for my ARM target. It seems next branch at https://git.pengutronix.de/ is not yet updated, so perhaps my fault won't affect anyone. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> |
---|
|
drivers/mtd/core.c |
---|