
On Friday 02 October 2009 08:30:51 Wolfgang Denk wrote:
Ingo van Lil wrote:
The CFI driver does not reset the device's watchdog, so long-running flash operations will cause the watchdog timer to expire. A comment in flash_status_check() suggests that udelay() is expected to reset the watchdog, but I can't find any architecture where it does.
Please have a closer look, then. On PowerPC, udelay() ["lib_ppc/time.c"] calls wait_ticks(), which in turn ["lib_ppc/ticks.S"] calls WATCHDOG_RESET
If this is missing in other architectures, it should be fixed at the root cause, i. e. in udelay() or in the respective support routines.
Blackfin is missing it as well as i really had no idea it was supposed to be there. certainly no doc states this requirement. perhaps it'd make sense to break apart the common stuff to a common udelay() that does things like call the watchdog and then call the implementation __udelay(). there should be at least a doc/README.arch that includes these kind of details ... -mike