mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 04:59:55 +00:00 
			
		
		
		
	esp32s2/hmac: Release HMAC lock in downstream mode incase of failure
This commit is contained in:
		| @@ -55,7 +55,8 @@ esp_err_t esp_hmac_calculate(hmac_key_id_t key_id, | |||||||
|  |  | ||||||
| esp_err_t esp_hmac_jtag_enable(hmac_key_id_t key_id, const uint8_t *token) | esp_err_t esp_hmac_jtag_enable(hmac_key_id_t key_id, const uint8_t *token) | ||||||
| { | { | ||||||
|     esp_err_t err; |     int ets_status; | ||||||
|  |     esp_err_t err = ESP_OK; | ||||||
|  |  | ||||||
|     if ((!token) || (key_id >= HMAC_KEY_MAX)) |     if ((!token) || (key_id >= HMAC_KEY_MAX)) | ||||||
|         return ESP_ERR_INVALID_ARG; |         return ESP_ERR_INVALID_ARG; | ||||||
| @@ -77,10 +78,10 @@ esp_err_t esp_hmac_jtag_enable(hmac_key_id_t key_id, const uint8_t *token) | |||||||
|         REG_WRITE(DPORT_JTAG_CTRL_0_REG + i, __builtin_bswap32(key_word)); |         REG_WRITE(DPORT_JTAG_CTRL_0_REG + i, __builtin_bswap32(key_word)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     err = ets_hmac_calculate_downstream(convert_key_type(key_id), ETS_EFUSE_KEY_PURPOSE_HMAC_DOWN_JTAG); |     ets_status = ets_hmac_calculate_downstream(convert_key_type(key_id), ETS_EFUSE_KEY_PURPOSE_HMAC_DOWN_JTAG); | ||||||
|     if (err != ETS_OK) { |     if (ets_status != ETS_OK) { | ||||||
|         ESP_LOGE(TAG, "HMAC downstream JTAG enable mode setting failed."); |         err = ESP_FAIL; | ||||||
|         return ESP_FAIL; |         ESP_LOGE(TAG, "HMAC downstream JTAG enable mode setting failed. (%d)", err); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     ESP_LOGD(TAG, "HMAC computation in downstream mode is completed."); |     ESP_LOGD(TAG, "HMAC computation in downstream mode is completed."); | ||||||
| @@ -89,7 +90,7 @@ esp_err_t esp_hmac_jtag_enable(hmac_key_id_t key_id, const uint8_t *token) | |||||||
|  |  | ||||||
|     esp_crypto_dma_lock_release(); |     esp_crypto_dma_lock_release(); | ||||||
|  |  | ||||||
|     return ESP_OK; |     return err; | ||||||
| } | } | ||||||
|  |  | ||||||
| esp_err_t esp_hmac_jtag_disable() | esp_err_t esp_hmac_jtag_disable() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sachin Parekh
					Sachin Parekh