diff --git a/wolfcrypt/src/port/caam/wolfcaam_fsl_nxp.c b/wolfcrypt/src/port/caam/wolfcaam_fsl_nxp.c index d968240526..c894f84c48 100644 --- a/wolfcrypt/src/port/caam/wolfcaam_fsl_nxp.c +++ b/wolfcrypt/src/port/caam/wolfcaam_fsl_nxp.c @@ -849,8 +849,8 @@ int SynchronousSendRequest(int type, unsigned int args[4], CAAM_BUFFER *buf, #endif default: - WOLFSSL_MSG("Unknown/unsupported type"); - return -1; + WOLFSSL_MSG("Unknown/unsupported type. Returning unavailable"); + return CRYPTOCB_UNAVAILABLE; } if (ret != 0) { diff --git a/wolfcrypt/src/port/caam/wolfcaam_init.c b/wolfcrypt/src/port/caam/wolfcaam_init.c index ddb41b1368..5ea1723d43 100644 --- a/wolfcrypt/src/port/caam/wolfcaam_init.c +++ b/wolfcrypt/src/port/caam/wolfcaam_init.c @@ -501,6 +501,11 @@ int wc_caamAddAndWait(CAAM_BUFFER* buf, int sz, word32 arg[4], word32 type) return RAN_BLOCK_E; } + if (ret == CRYPTOCB_UNAVAILABLE) { + WOLFSSL_MSG("Driver does not support requested operation"); + return ret; + } + if (ret == ResourceNotAvailable) { WOLFSSL_MSG("Waiting on CAAM driver"); return WC_HW_WAIT_E;