Hi,

It actually would not make sense as final() suppose to cleanup
everything and in the case of EINPROGRESS we can not do it.

So the question how then to "wait for completion" of the hash by HW if
not to use finup()

- Dmitry


Kasatkin Dmitry (Nokia-D/Helsinki) wrote:
> Hi,
>
> In the case when finup() is not used, just update/update/../final
> driver finalize calculation from the final function.
>
> It takes a time and if it may not sleep, can final() also return
> EINPROGRESS?
>
> Thanks,
> Dmitry
>
>
> ext Herbert Xu wrote:
>   
>> Dmitry Kasatkin <dmitry.kasat...@nokia.com> wrote:
>>   
>>     
>>> Hello,
>>>
>>> I have one question about async api.
>>>
>>> I work on AHASH driver and wonder about one thing.
>>>
>>> while calculating hash, client might call many times
>>>
>>> ahash_request_set_crypt(req, &sg, sha1, len);
>>> crypto_ahash_update(req);
>>> ..
>>> ..
>>> ahash_request_set_crypt(req, &sg, sha1, len);
>>> crypto_ahash_finup(req);
>>>
>>> right?
>>>
>>> But because it is async and driver does not wait_for_completion,
>>> previous request may not be completed before client will call next update.
>>>
>>> But what should be the behavior of the driver?
>>>     
>>>       
>> If any async operation returns EINPROGRESS, the client must not
>> proceed until that operation has completed.
>>
>> Cheers,
>>   
>>     
> --
> To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>   
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to