From a01d2a94acf78f59c9439d8646bc3d7dc042f525 Mon Sep 17 00:00:00 2001 From: Sarat Chand Savitala Date: Mon, 15 Jun 2015 23:42:42 +0530 Subject: [PATCH] sw_services:xilsecure: Fix to avoid clearing of AES key Clearing the CSU_AES_KEY_CLEAR register to avoid clearing of AES key. Signed-off-by: Sarat Chand Savitala --- lib/sw_services/xilsecure/src/xsecure_aes.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/sw_services/xilsecure/src/xsecure_aes.c b/lib/sw_services/xilsecure/src/xsecure_aes.c index 175e2ab6..623248d2 100755 --- a/lib/sw_services/xilsecure/src/xsecure_aes.c +++ b/lib/sw_services/xilsecure/src/xsecure_aes.c @@ -575,6 +575,10 @@ u32 XSecure_AesDecrypt(XSecure_Aes *InstancePtr, u8 *Dst, const u8 *Src, /* Clear AES contents by reseting it. */ XSecure_AesReset(InstancePtr); + /* Clear AES_KEY_CLEAR bits to avoid clearing of key */ + XSecure_WriteReg(InstancePtr->BaseAddress, + XSECURE_CSU_AES_KEY_CLR_OFFSET, (u32)0x0U); + if(InstancePtr->KeySel == XSECURE_CSU_AES_KEY_SRC_DEV) { XSecure_AesKeySelNLoad(InstancePtr);