On Thu, Sep 01, 2016 at 09:12:59AM +0300, Tero Kristo wrote: > > Well, but the driver doesn't flush its buffers automatically, it > caches data until it has sufficient amount available. So, assuming > you want to do this: > > sham_init > sham_update 256 bytes > sham_update 256 bytes > wait until two above updates are complete > sham_export > > ... the execution hangs at the wait phase as the driver is still Well that's a bug in the driver. While it's not illegal to wait for more data, it's usually unnecessary. Because we instead try to get our users to generate as big a request as possible, e.g., one packet for IPsec. If you really have to do the hold thing, then you must install a timer like sha1-mb does on x86 to do the flush. In any case, the completion function must not be called until you're actually complete. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html