arm: dra7xx: Hang on any failure during IOdelay recalibration
authorLokesh Vutla <lokeshvutla@ti.com>
Tue, 1 Oct 2019 05:11:01 +0000 (10:41 +0530)
committerTom Rini <trini@konsulko.com>
Fri, 11 Oct 2019 17:32:40 +0000 (13:32 -0400)
If there is any failure during IOdelay recalibration sequence, IOs are
not guaranteed to behave as expected. So hang on any failure during the
sequence.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
arch/arm/mach-omap2/omap5/dra7xx_iodelay.c

index 9bd7051786e6651771961af76dcf5b794e236963..9eda57c450dda2bfbc037cb1065dcd4b9c667bc2 100644 (file)
@@ -241,6 +241,12 @@ void __recalibrate_iodelay_end(int ret)
                debug("IODELAY: IO delay recalibration successfully completed\n");
        }
 
+       /* If there is an error during iodelay recalibration, SoC is in a bad
+        * state. Do not progress any further.
+        */
+       if (ret)
+               hang();
+
        return;
 }