diff options
author | Peter Mamonov <pmamonov@gmail.com> | 2018-05-22 18:33:33 +0300 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-05-24 12:45:10 +0200 |
commit | f1ef09542d2dfaccb7d10e94b9d165eb40d1d19b (patch) | |
tree | 409d1e1b8593ce26520d09d804f2d862a35a4138 | |
parent | 360b9fd79d3670806d8c3aa8b7cbc86548eaa676 (diff) | |
download | barebox-f1ef09542d2dfaccb7d10e94b9d165eb40d1d19b.tar.gz barebox-f1ef09542d2dfaccb7d10e94b9d165eb40d1d19b.tar.xz |
mtd: cfi-flash: fix write_buff() for 64 bit systems
write_buff() uses ~(flash_info.portwidth - 1) to mask lower bits of addr. This
causes higher 32 bits of addr to be discarded on a 64 bit system, since
flash_info.portwidth is 32 bits long (unsigned int) and addr is 64 bits long
(unsigned long).
Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/mtd/nor/cfi_flash.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nor/cfi_flash.c b/drivers/mtd/nor/cfi_flash.c index 5bdcccae18..01ab1aa274 100644 --- a/drivers/mtd/nor/cfi_flash.c +++ b/drivers/mtd/nor/cfi_flash.c @@ -515,7 +515,7 @@ static int write_buff(struct flash_info *info, const u8 *src, int buffered_size; #endif /* get lower aligned address */ - wp = addr & ~(info->portwidth - 1); + wp = addr & ~((unsigned long)info->portwidth - 1); /* handle unaligned start */ aln = addr - wp; |