On 11/9/2021 11:51 AM, Gaurav Jain wrote: > Root cause: > When caam queue is full (-ENOSPC), caam frees descriptor memory. > crypto-engine checks if retry support is true and h/w queue > is full(-ENOSPC), then requeue the crypto request. > During processing the requested descriptor again, caam gives below error. > (caam_jr 30902000.jr: 40000006: DECO: desc idx 0: Invalid KEY Command). > > This patch adds a check to return when caam input ring is full > and retry support is true. so descriptor memory is not freed > and requeued request can be processed again. > This approach is fine for a fix, to keep it small. IMO it would be better to modify caam driver to use the crypto_engine callbacks (prepare_request, unprepare_request). > Fixes: 2d653936eb2cf ("crypto: caam - enable crypto-engine retry mechanism") > Signed-off-by: Gaurav Jain <gaurav.jain@xxxxxxx> > Reviewed-by: Horia Geantă <horia.geanta@xxxxxxx> Initial upstream patch submission should not carry the R-b tags gathered during internal reviews. Patch looks good, thanks. However the subject should change to something more generic, given the root cause. Horia