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
..
2015-11-02 10:38:00 +09:00
2016-01-27 15:32:05 +01:00
2016-06-19 17:05:55 -06:00
2016-07-22 09:52:59 -04:00
2016-02-05 12:47:21 +08:00
2016-05-25 17:52:39 +02:00
2016-06-19 17:05:55 -06:00
2016-07-14 18:33:11 -04:00
2016-02-06 12:00:59 +01:00
2016-03-14 19:21:44 -04:00
2016-06-19 17:05:55 -06:00