u-boot/drivers/mtd
Hector Palacios ebb7febc92 mtd: nand: fix bug writing 1 byte less than page size
nand_do_write_ops() determines if it is writing a partial page with the
formula:
	part_pagewr = (column || writelen < (mtd->writesize - 1))

When 'writelen' is exactly 1 byte less than the NAND page size the formula
equates to zero, so the code doesn't process it as a partial write, although
it should.
As a consequence the function remains in the while(1) loop with 'writelen'
becoming 0xffffffff and iterating until the watchdog timeout triggers.

To reproduce the issue on a NAND with 2K page (0x800):
	=> nand erase.part <partition>
	=> nand write $loadaddr <partition> 7ff

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2016-07-24 20:36:29 -05:00
..
nand mtd: nand: fix bug writing 1 byte less than page size 2016-07-24 20:36:29 -05:00
onenand mtd: OneNAND: initialize mtd->writebufsize to let UBI work 2016-07-22 14:46:12 -04:00
spi sunxi: Support booting from SPI flash 2016-07-15 08:34:34 +02:00
ubi mtd, ubi: set free_count to zero before walking through erase list 2016-04-22 11:47:37 +02:00
ubispl spl: Lightweight UBI and UBI fastmap support 2016-07-22 09:53:00 -04:00
altera_qspi.c altera_qspi: allow ctrl-c to abort the erase ops 2015-12-28 09:32:43 +08:00
at45.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cfi_flash.c mtd: cfi_flash: fix polling for bit XSR.7 on Intel chips 2016-07-20 11:13:26 +02:00
cfi_mtd.c mtd, cfi, ubi: add missing writebufsize initialization 2014-11-19 07:54:04 +01:00
dataflash.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ftsmc020.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
jedec_flash.c mtd: Handle 29LV800BT 2014-11-19 08:48:41 +01:00
Kconfig drivers: mtd: add Microchip PIC32 internal non-CFI flash driver. 2016-05-21 01:25:50 +02:00
Makefile drivers: mtd: add Microchip PIC32 internal non-CFI flash driver. 2016-05-21 01:25:50 +02:00
mtd-uclass.c dm: implement a MTD uclass 2015-11-12 08:26:58 +08:00
mtd_uboot.c mtd: uboot: Add meaningful error message 2015-11-12 13:17:28 -05:00
mtdconcat.c kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
mtdcore.c compat: Remove is_power_of_2() definition 2015-11-05 16:46:59 -05:00
mtdcore.h mtd, ubi, ubifs: resync with Linux-3.14 2014-08-25 19:25:55 -04:00
mtdpart.c mtd: Introduce mtd_block_isreserved() 2015-08-25 22:53:57 -05:00
mw_eeprom.c Update i386 code (sc520_cdp) 2008-09-09 11:48:53 +02:00
pic32_flash.c drivers: mtd: add Microchip PIC32 internal non-CFI flash driver. 2016-05-21 01:25:50 +02:00
st_smi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
stm32_flash.c stm32: stm32_flash: add memory barrier during flash write 2016-04-11 20:48:23 -04:00
stm32_flash.h stm32: stm32f4: move flash driver to mtd driver location 2016-03-26 18:49:28 -04:00