From 5c6e497eaaf2c76344f82e823c2a0aad3cc26167 Mon Sep 17 00:00:00 2001 From: Lokesh Vutla Date: Tue, 1 Oct 2019 10:41:01 +0530 Subject: [PATCH] arm: dra7xx: Hang on any failure during IOdelay recalibration 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 --- arch/arm/mach-omap2/omap5/dra7xx_iodelay.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/mach-omap2/omap5/dra7xx_iodelay.c b/arch/arm/mach-omap2/omap5/dra7xx_iodelay.c index 9bd7051786..9eda57c450 100644 --- a/arch/arm/mach-omap2/omap5/dra7xx_iodelay.c +++ b/arch/arm/mach-omap2/omap5/dra7xx_iodelay.c @@ -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; } -- 2.25.1