diff options
Diffstat (limited to 'arch/arm/mach-tegra/nvddk/nvddk_aes.c')
-rw-r--r-- | arch/arm/mach-tegra/nvddk/nvddk_aes.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/nvddk/nvddk_aes.c b/arch/arm/mach-tegra/nvddk/nvddk_aes.c index 9e7008c0e464..530363f1d743 100644 --- a/arch/arm/mach-tegra/nvddk/nvddk_aes.c +++ b/arch/arm/mach-tegra/nvddk/nvddk_aes.c @@ -603,6 +603,14 @@ NvDdkAesSetAndLockSecureStorageKey( AesHwIv Iv; AesHwEngine Engine; + NvOsMutexLock(gs_hAesCoreEngineMutex); + if (!gs_pAesCoreEngine->SskUpdateAllowed) + { + NvOsMutexUnlock(gs_hAesCoreEngineMutex); + return NvError_NotSupported; + } + NvOsMutexUnlock(gs_hAesCoreEngineMutex); + NVDDK_AES_CHECK_INPUT_PARAMS(pSecureStorageKey); NVDDK_AES_CHECK_USER_IDENTITY; @@ -1892,6 +1900,8 @@ NvError AesCoreInitEngine(const NvRmDeviceHandle hRmDevice) 0, NULL)); } + gs_pAesCoreEngine->SskUpdateAllowed = + pAesHwCtxt->ppEngineCaps[AesHwEngine_A]->pAesInterf->AesHwIsSskUpdateAllowed(); return e; } |