In lpddr4_start function error returned by lpddr4_enablepiinitiator
may go undetected due to overwrite of return code.
Add support to handle error in above case.

Reported-by: Andreas Dannenberg <[email protected]>
Signed-off-by: Udit Kumar <[email protected]>
---
 drivers/ram/k3-ddrss/lpddr4.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/ram/k3-ddrss/lpddr4.c b/drivers/ram/k3-ddrss/lpddr4.c
index 11ef242a37..9f9abfeca4 100644
--- a/drivers/ram/k3-ddrss/lpddr4.c
+++ b/drivers/ram/k3-ddrss/lpddr4.c
@@ -155,10 +155,11 @@ u32 lpddr4_start(const lpddr4_privatedata *pd)
        u32 result = 0U;
 
        result = lpddr4_startsf(pd);
-       if (result == (u32)0) {
+       if (result == (u32)0)
                result = lpddr4_enablepiinitiator(pd);
+       if (result == (u32)0)
                result = lpddr4_startsequencecontroller(pd);
-       }
+
        return result;
 }
 
-- 
2.34.1

Reply via email to