On Mon, 31 Jan 2011 09:05:55 +0100 Jaap de Jong <jaap.dej...@nedap.com> wrote:
> Hi all, > On my board (at91sam9263ek) I have enabled the watchdog. > It will reset the processor after about 16 seconds. > It looks like it is working but if I'm writing a large file into nand it > seems that the watchdog is not reset and finally my processor resets. > I've patched it, but I'm not sure if it is the right way to do it this > way... So far we've been putting the watchdog resets in higher-level functions. It looks like the block-skipping versions have them, but the non-block-skipping versions don't (and the former will call the latter if it doesn't see any bad blocks). So I think this should go in nand_read() and nand_write(). If things hang up inside the low-level wait that should trigger the watchdog. > diff -urN a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c > --- a/drivers/mtd/nand/nand_base.c 2010-12-22 20:22:14.000000000 +0100 > +++ b/drivers/mtd/nand/nand_base.c 2011-01-31 08:45:07.818135600 +0100 > @@ -447,6 +447,7 @@ > if (chip->dev_ready) > if (chip->dev_ready(mtd)) > break; > + WATCHDOG_RESET (); > } > } > > @@ -730,6 +731,7 @@ > if (this->read_byte(mtd) & NAND_STATUS_READY) > break; > } > + WATCHDOG_RESET (); > } > #ifdef PPCHAMELON_NAND_TIMER_HACK > reset_timer(); > This patch is whitespace-mangled. Try using git send-email. -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot