Re: [PATCH] crypto: engine - do not requeue in case of fatal error

From: Horia GeantÄ
Date: Wed May 20 2020 - 04:17:57 EST


On 5/20/2020 1:17 AM, Iuliana Prodan wrote:
> Now, in crypto-engine, if hardware queue is full (-ENOSPC),
> requeue request regardless of MAY_BACKLOG flag.
> If hardware throws any other error code (like -EIO, -EINVAL,
> -ENOMEM, etc.) only MAY_BACKLOG requests are enqueued back into
> crypto-engine's queue, since the others can be dropped.
> The latter case can be fatal error, so those cannot be recovered from.
> For example, in CAAM driver, -EIO is returned in case the job descriptor
> is broken, so there is no possibility to fix the job descriptor.
> Therefore, these errors might be fatal error, so we shouldnât
> requeue the request. This will just be pass back and forth between
> crypto-engine and hardware.
>
> Fixes: 6a89f492f8e5 ("crypto: engine - support for parallel requests based on retry mechanism")
> Signed-off-by: Iuliana Prodan <iuliana.prodan@xxxxxxx>
Reported-by: Horia GeantÄ <horia.geanta@xxxxxxx>
Reviewed-by: Horia GeantÄ <horia.geanta@xxxxxxx>

Thanks,
Horia