xyz-modem: Fix timeout loop waiting with WATCHDOG
authorLokesh Vutla <lokeshvutla@ti.com>
Tue, 8 Jan 2019 13:58:35 +0000 (19:28 +0530)
committerTom Rini <trini@konsulko.com>
Tue, 15 Jan 2019 20:28:51 +0000 (15:28 -0500)
commita4773c5559867f8fc6b0c1a7eb8ab36cfd53756f
treed6a7af3d0af744d465f0fba70c3a22d2b4968541
parent03e6151d5bb42fd055e9c1e571440359bd5b5282
xyz-modem: Fix timeout loop waiting with WATCHDOG

Commit 2c77c0d6524eb ("xyz-modem: Change getc timeout loop waiting")
fixes the loop delay when using a hw watchdog, assuming that watchdog
kicking is taken care of by getc(). But the xyzmodem driver tries to
do a getc only after confirming that a character is available like below:
while (!tstc()) {
till timeout;
}
if (tstc())
*c = getc();

and getc() does a watchdog reset only if it fails to see a character.
In this case, getc() always sees a character and never does a
watchdog reset. So to make sure that watchdog doesn't get reset
while loading the file, do a watchdog reset just before starting the
image loading.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
common/xyzModem.c